rotatelogs と時差
アクセスログのローテーションに使っているのは、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