apache が logrotate で死亡
Posted by yoosee on Debian at 2004-10-01 23:42 JST1 SIGUSER1 (reload) で死んでしまう apache process
朝気が付くと apache が動いていない。HTTP でのアクセスができなくて、プロセスを探しても見当たらない。HotSaNic の Process Graph を見てみると 06:30 前後の時点でプロセス数が 0 になっている。その周辺の error.log を見るとの直後に落ちているように見える。試しに # /usr/sbin/apachectl graceful してみると、見事にプロセスが全滅してしまった。BTS を見てみると #237377 apache: Apache parent process dies at reload と言うのが上がっていて、回避方法はまだ載っていないようだ。woody だけじゃなく sarge でも sid でも同じ状態。apache2 では大丈夫のようだが。[Sat Oct 2 19:10:57 2004] [notice] SIGUSR1 received. Doing graceful restart
ともあれ graceful restart してくれるのは現状 logrotate だけなので、/etc/logrotate.d/apache を
if [ -f /var/run/apache.pid ]; then \ if [ -x /usr/sbin/invoke-rc.d ]; then \ - invoke-rc.d apache reload > /dev/null; \ + invoke-rc.d apache restart > /dev/null; \ else \ - /etc/init.d/apache reload > /dev/null; \ + /etc/init.d/apache restart > /dev/null; \ fi; \ fi;として逃げておく。