ログローテーションで使用されるlogrotateについて、 容量の設定方法に癖があったので、まとめます。 時刻指定と合わせて行いたいときは要注意の内容です。
size設定
「1日または1MBを超えたときにログローテーションさせたい」と思って下記を設定することが多いと思いますが、
これは次の意味で解釈されます。
「容量が1MBを超えたときにログローテーション」
dailyが無視されます。
daily size 1M
maxsize 設定
「1日または1MBを超えたときにログローテーションさせたい」場合は下記を使いましょう。 maxsizeは監視対象ファイルの最大容量を設定すると考えましょう
daily
maxsize 10 M
minsize 設定
minsizeも定義としてはあり、 「ログローテーションを実行する最小容量ファイル」を設定します。
daily minsize 10M
まとめ
個人的には、定期的にログがローテーションされていることを確認したいので、 maxsizeが使い勝手良さそうでした。 他の設定だと、正しく動いているのかどうか、対象のログ・ファイルの容量を確認しないと分からないので、 心配性な自分には合いませんでした。 ただ、この方法でもlogrotateの監視間隔より短いファイルの更新には対応しきれないので、 本当に「ファイル容量」でログローテーションしたい場合は別の方法を検討するのが良さそうです。