[CentOS] Logrotate in CentOS 5.4 more brutal (to httpd at least) than in 5.3?

Brian Mathis brian.mathis at gmail.com
Fri Jan 15 17:31:40 UTC 2010


On Fri, Jan 15, 2010 at 4:35 AM, Christopher Thorjussen
<Christopher.Thorjussen at carrot.no> wrote:
> I've just updated a few CentOS 5.3 servers to 5.4. One of them were a Apache Webserver. Doing a diff/check on the new ".rpmnew" config files that are made, I saw that the logrotate command for apache was changed. In 5.3 it did a reload, but in 5.4 it does a hard kill:
>
> CentOS 5.3:
>
> /var/log/httpd/*log {
>    missingok
>    notifempty
>    sharedscripts
>    postrotate
>        /sbin/service httpd reload > /dev/null 2>/dev/null || true
>    endscript
> }
>
>
> CentOS 5.4:
>
> /var/log/httpd/*log {
>    missingok
>    notifempty
>    sharedscripts
>    postrotate
>        /bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
>    endscript
> }
>
> Isn't this a bit harsh in 5.4? Wouldn't the 5.3 method be better?
>
> -Christopher Thorjussen


The "kill" command is misnamed and has undoubtedly cause this kind of
confusion since its inception.  What the kill command really does is
send a signal to the process.  By default it just happens to be the
TERM signal.  If you give it another signal, like HUP, it will send
that one instead.

It's up to the individual program to determine what to do when
receiving certain signals.  In the case of HUP, many programs choose
to reload their configurations.  "dd" is interesting in that it prints
out status information when it receives a USR1 signal.

I agree that it should be using "service" instead of kill though.


More information about the CentOS mailing list