the /etc/logrotate.d/apache2 script should be modified to do a kill -USR1 on apache, not execute /etc/init.d/apache2 reload sending the signal to apache tells it to reload its config, close and reopen all open files, but without interrupting requests already in progress. the change would be along the lines of: 9c9 < kill -USR1 `cat /var/run/apache2.pid` --- > /etc/init.d/apache2 reload > /dev/null 2>&1 || true
kill -USR1 and /etc/init.d/apache2 reload are the same thing. reload does a graceful restart of apache, which is what the USR1 signal triggers. http://httpd.apache.org/docs/2.0/stopping.html#graceful