logファイルは、ほっとけばいつのまにか肥大して あわわってなる事があります。
ちなみに、logファイルが規定容量が超えたら動作が不安定になったり
落ちたりします。仕事でも何度かなったことあります・・・
ローテート対象は、access.logだけでなくerror.logもしておいた方がいいです。
SSLやその他、ファイル容量が大きくなるものはできるだけすべてね。
■Apacheでログローテート
httpd.confを修正して機能させます。
CustomLog "|/usr/local/apache2/bin/rotatelogs
/usr/local/apache2/logs/%Y%m%d.log 86400 540" combined
※実際は一行で書きます。
これだと、ログディレクトリ内に1日毎に年月日.logって形式で吐いてくれます。
86400は秒単位の1日って事で1週間なら604800になります。
その後ろの、540は日本時間用のオフセット値
■logrotateを利用
/etc/logrotate.dのディレクトリ内にhttpdを作成します。
ファイル内にはこんな感じで記入します。
apache log Path{
daily
rotate 30
compress
missingok
sharedscripts
postrotate
/usr/local/apache2/bin/apachectl graceful
endscript
}
これだと、 毎日ローテートして30日分残してくれます。
/etc/logrotate.dディレクトリ内の個々のログファイルの設定ファイルの
フォーマットは
ログファイル名{
設定値
・・・
}
になります。ログファイル指定は一度に4個ぐらいまでならOKかと。
設定値の一覧
作成した後は、動作確認をする意味でも下記のコマンドを実行
#logrotate -f /etc/logrotate/file name