| daily | 日次ローテーション。他にもweeklyやmonthlyなどがある |
| rotate 2 | 二世代残す |
| missingok | ファイルが無くてもエラーとしない |
| copytruncate | 元のファイルコピーした後サイズを0にして出力する。このオプションは付けておいた方が良い |
| compress | 圧縮してローテーションする |
| delaycompress | 古い世代は圧縮してローテーションする |
/etc/logrotate.d/にファイルを作成
Apahce2の場合はkill -HUPだとうまくいかないので下記のようにして再起動はなしでローテーションした。
/usr/local/apache2/logs/*log {
rotate 50
daily
missingok
notifempty
olddir past
copytruncate
compress
}
/var/log/tomcat/catalina.out
/var/log/tomcat/gc.log
{
daily
rotate 2
missingok
copytruncate
compress
delaycompress
}
/var/log/tomcat/catalina.out
{
daily
rotate 2
missingok
copytruncate
compress
delaycompress
postrotate
/sbin/service tomcat reload > /dev/null 2>/dev/null || true
endscript
}
しかし再起動かからず、失敗。。。何がおかしいのか?
logrotate -d /etc/logrotate.d/apache2
logrotate -f /etc/logrotate.d/apache2
似ているが、rotatelogはApacheに付属するプログラム。パイプで渡してあげると日付付のファイル名にしてくれる。
いつローテーションされたかの結果ファイル。