FreeBSDのLOGローテーション

/etc/newsyslog.conf

# logfilename          [owner:group]    mode count size when  flags [/pid_file] [sig_num]
/var/log/all.log                        600  7     *    @T00  J
/var/log/amd.log                        644  7     100  *     J
/var/log/auth.log                       600  7     100  *     JC
/var/log/console.log                    600  5     100  *     J
/var/log/cron                           600  3     100  *     JC
/var/log/daily.log                      640  7     *    @T00  JN
/var/log/debug.log                      600  7     100  *     JC
/var/log/kerberos.log                   600  7     100  *     J
/var/log/lpd-errs                       644  7     100  *     JC
/var/log/maillog                        640  7     *    @T00  JC
/var/log/messages                       644  5     100  *     JC
/var/log/monthly.log                    640  12    *    $M1D0 JN
/var/log/pflog                          600  3     100  *     JB    /var/run/pflogd.pid

たとえば下記の場合

/var/log/messages? 644? 5? 100? *? JC

例えば、この場合はファイルのパーミッションは644、
ログが100KBを越えるとバックアップ(lotate)が始まる。
保存するログは5つまで、バックアップbz圧縮が行われる。

各項目の詳細

■ mode
ファイルのパーミッション

■ count
保存するバックアップファイルの数
この数を超過した場合は古い順に消去される

■ size
ログがこのサイズを超過した場合にバックアップを取る。
単位は、Kbyte。
ここが*の場合は、sizeを考慮しない。(when側の指定が有効)

■ when
バックアップを取るタイミングが時間指定の場合はここに記入。
ここが*場合は、size側の設定が有効。

・ @ は制限付きISO8601時刻フォーマット(例:2003年10月23日)を利用すると言う意味。
ここで T00  は 0時 を表している。
@T00 では、毎日0時にバックアップ
01T00  では、毎月1日の0時にバックアップ

・ $ は毎月・毎週・毎日バックップしたい場合の指定。
フォーマットは、Dhh、Ww、WwDhh、Mdd、 MddDhhのどれかを使用。
D:毎日
W:毎週
M:毎月
hh:時間(0~23)
w:曜日(0:日曜日~6:土曜日)
dd:日(1~31)
L:月の最後の日

参考に
$M1D0 では、毎月1日0時
$W6D0 では、毎週土曜日0時

■ [ZJB]
圧縮をするかしないかを表示
Z:gz圧縮してバックアップ
J:bz圧縮してバックアップ
B:圧縮せずにそのままバックアップ

————

最後に、newsyslog.conf編集後の反映

newsyslog.confを編集後は必ず、newsyslogコマンドを発行。

# newsyslog

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

認証(CAPTCHA) * Time limit is exhausted. Please reload CAPTCHA.