Description of problem:
The default /etc/logrotate.d/httpd incorrectly invokes kill directly, rather
than the more appropriate means of calling /sbin/service httpd restart. The
current behavior has a number of flaws -- it blindly assumes the location of the
PID file, even though the init script accommodates a configurable override of
"PIDFILE" via /etc/sysconfig/httpd. Additionally, there is no benefit from the
existing safeguards in the init script (namely configtest-before-signal).
Version-Release number of selected component (if applicable):
Verified against both httpd-2.0.52-32.ent and httpd-2.2.3-6.el5.
Define PIDFILE in /etc/sysconfig/httpd to be something other than
"/var/run/httpd.pid" and observe logs not being rotated properly.
The httpd package should be internally consistent. Instead, default values are
duplicated in multiple locations and configuration files are not handled
uniformly between logrotate and init.
Thanks for the report.
I notice that the httpd init script itself does not correctly the $PIDFILE
override, since it should be passing -p $pidfile to the killproc function also,
but the fallback in that case is usually sufficient.
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.