rotatelogs と時差

rotatelogs と時差

2007/01/02 11:35am

アクセスログのローテーションに使っているのは、Apache に付属している rotatelogs だ。わたしも多くの初心者と同じく、こいつにまつわる時差の問題に直面した。

これは、Apache のマニュアルに書かれている rotatelogs の設定例。

CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common

しかし、このままだとログファイルに残されるアクセス時間が 9 時間ずれてしまう(日本の標準時間と比べて)。rotatelogs の第一引数に指定するローテーション秒数は UTC を基準にしているためだ。

UTC とのズレは第二引数にで指定する。日本標準時間は UTC より 9 時間ずれているので、ここに 540 を指定すればよい。

CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400 540 " common