2003/03/27
別に三題話ではないです。
Linuxなんかだと /etc/cron.daily/ 以下のスクリプトファイルを一日に一回処理するようになっています。ファイル名の文字列順で。
webalizerというのはApacheのログを集計して結果をWebページにしてくれるツールです。普通は一日に一回動作するように設定しますが、パッケージでインストールすると /etc/cron.daily/webalizer というファイルをインストールしてくれるので特に設定無しで毎日動作してくれます。
logrotateというのはログファイルを回すやつです。例えばhoge_logというログの場合、一つ古いのがhoge_log.1、その前がhoge_log.2、以下hoge_log.3 hoge_log.4みたいな感じです。Apacheのaccess_logなんかも回してます。パッケージでインストールされる時に /etc/cron.daily/logrotate というファイルをインストールしてくれるので、これも毎日動作しています。
文字順だと「l」は「w」のより前なので、logrotate→webalizerの順で実行されるわけですが、webalizerの処理時には未集計のログがrotateされた後という罠。(webalizerは最新ログしか処理できません)
この罠を回避したlogrotateのパッケージ、その名も「zlogrotate」というのはどうだろうか。だめぽ?