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 httpd reload > /dev/null 2>/dev/null || true endscript }
logrotate -d /etc/logrotate.d/apache2
logrotate -f /etc/logrotate.d/apache2