geek.conf.2

あるエンジニアの備忘録

apacheのratatelogsを使おうの巻

タイトルの通り、apacheが持つログのローテーション機能を使いました。
Linuxディストリビューションであるlogrotateとの大きな違いは、

logrotateは設定した世代数を超えたログを削除してしまうが、rotatelogsは削除する機能はない。

です。

まあアクセスログを全て残しておきたいのならrotatelogsで間違いないんじゃないでしょうか。

個人情報を扱っていたり、重要な情報を扱う公開WEBとかは残しといたほうがいいですよね。

ただし、削除されないのでディスク容量には注意です。

さて、その設定方法は以下となります。

---------------------------------httpd.conf--------------------------------

CustomLog "|/APACHE_HOME/bin/rotatelogs /var/log/access_log.%Y%m%d 86400" common

-------------------------------------------------------------------------

アクセスログ名の後ろの%Yとかはフォーマット文字列です。上記例ではaccess_log.20080727
となります。

後ろの86400はローテートのタイミングです。上記例は秒数ですがファイルサイズ(MB)をタイミングと
することもできます。5Mってな感じで書きます。

上記はaccess_logの設定方法ですが、error_logにもjk_mod.logにも同様に設定できます。

rewrite_logは試していません。。