新人PGの学び

プログラマーの卵のlog

logrotateとSIGHUPによるApacheの異常終了

logrotateとは

ログ肥大化を防ぐために不要な過去のログを圧縮しディスクのサイズを確保する


再起動後Apacheダウン不具合

あるサーバーで、ログローテーション後に再起動がかかるはずが、正常に再起動せず
Apacheがダウンしたままだった


原因の一因はバグ?!

正常に起動しない一因として、ログローテーション後に「reload」で再起動設定。
reloadはSIGHUPというをシグナルを発行するが、SIGHUPを受けてApacheが異常終了するのは、CentOS 5でapache 2.2+PHP 5.1.6の環境においてたまに生じるバグだった。


対応・対策

logrotate自体を変更するのは、影響範囲が怖い・・・。
異常終了した場合に自動復旧スクリプトを組み込む事にした。
Zabbix(監視ツール)である通知をtriggerとしてアクション設定が必要。