手がかり
yum install logrotate
awsか、yumでインストールしたものは自動的に logrotate の設定をしてくれてるのかな。
やったことまとめ
/www 下の (アプリフォルダ)/log/*.log ファイルについて
1日ごと変わり、で30日間残すログローテートを設定した。
基本設定
グローバルな設定
/etc/logrotate.conf
個別設定
/etc/logrotate.d
[XXX logrotate.d]# cat httpd
/var/log/httpd/*log {
missingok
notifempty
sharedscripts
delaycompress
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}
以下を追加設定しとく
daily
dateext
compress
rotate 30
実行できるか確認してみる。
logrotate -dv ./httpd
- -d : デバッグ実行、実行したらどうなるか試してくれる
- -v 詳細表示
全体実行は
/usr/sbin/logrotate /etc/logrotate.conf
自動実行してるのか?確認
cat /var/lib/logrotate.status
各項目がいつローテートされたかこれでわかる。
cronに設定されているか?
/etc/cron.daily
[XXX cron.daily]# cat logrotate
#!/bin/sh
(略)
/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
(略)
cronに設定されてると判断。