CustomLog "|/インストール先/bin/rotatelogs /出力先/access_log.%Y%m%d 86400 540" combined
マニュアル通りなら、この設定ではrotatelogsが起動してから24時間で出力先のログファイルが切り替わりそうに見えます。しかし、実際にはrotatelogsはtime(2)の返す値を86400秒で丸めてから開始時刻にするので、開始時刻はその日の0時になります。したがって、ログファイルが切り替わるのは翌日の0時以降です。
このことに気づくまではcronologをインストールしていたのですが、rotatelogsでいけるんですよ。ちなみに、3つ目のオプションに540を指定しないと、ログが切り替わるのがUTCの0時になるので注意してください。
ローテートしたログファイルは圧縮しないと、あっという間にディスクがあふれてしまいます。ftp.jaist.ac.jpのaccess_logは多い日で10GBを超えます。クソ遅いUltraSPARC T1で、こんなファイルをbzip2で圧縮したら1日掛かっても終わりません。
そこでマルチコアを使うpbzip2の出番です。T1の32論理CPUのうち10個も使ってやれば、圧縮時間はさくっと1/10になります。bzip2のアルゴリズムそのものを並列化しているわけではなく、ファイルをぶちぶちとちぎって並列でbzip2で回すだけなので、微妙に圧縮率は下がりますが実用上問題はありません。
0 件のコメント:
コメントを投稿