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. How reproducible: Define PIDFILE in /etc/sysconfig/httpd to be something other than "/var/run/httpd.pid" and observe logs not being rotated properly. Expected results: 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 release.
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. http://rhn.redhat.com/errata/RHSA-2007-0747.html