logrotate

ログローテート logrotate メモ

More than 3 years have passed since last update.


手がかり

http://server-setting.info/centos/loglotation.html

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に設定されてると判断。