http://www.usupi.org/sysad/018.html
http://1000g.5qk.jp/2010/05/20/linux-logrotate%E3%81%AE%E4%BD%BF%E3%81%84%E6%96%B9/
http://www.atmarkit.co.jp/flinux/rensai/root03/root03c.html
/etc/logrotate.conf
で設定する。
例:
weekly
rotate 4
include /etc/logrotate.d
/var/log/wtmp {
size 1M
create 0664 root root
rotate 1
}
最初の weekly は,1週間でログをローテートさせる,という指定です.
これを daily や monthly にすると,それぞれ1日と1カ月でローテートさせる,という設定になります.
次の rotate 数字 は,指定した数字のログまで保存する,という指定です. weekly と合わせると,今のログを除いて,4週間分保存されることになります.
次の include パス は,指定したファイルを読み込んで解釈する,という指定です.パスがディレクトリなら,そのディレクトリ下にあるファイル全部を読み込んで解釈してくれます.
(/etc/logrotate.d を見ると,いろんなファイルが転がっていますよ.)
その次は,ログのパス名と,その後を { と } で囲んでいます.
これは,指定したログに対する設定です.囲まれていない場所で指定したものは,すべてのログを対象としますが,{ } で囲まれた指定は,そのログだけを対象とします.
size 数字 は,ログのサイズがその数字より大きくなると,ローテートを行います. k をつけるとキロバイト,M をつけるとメガバイトです.
create モード 所有者 グループ は,ローテートした後に,空のファイルを,指定したモード(chmod で指定する8進数の値),所有者およびグループで生成するという指定です.
!デバッグ
logrotate -d /etc/logrotate.d/対象ファイル
logrotate -dv /etc/logrotate.conf
!即時実行
logrotate -f 対象ファイル
logrotate -f /etc/logrotate.conf # 登録されているローテーションすべて実行
logrotate -f /etc/logrotate.d/test # testだけ実行
{{category2 OS,Linux}}