logrotateのmanページから:
minsize size
ログファイルは、sizeバイトより大きくなるとローテーションされますが、追加で指定された時間間隔(毎日、毎週、毎月、または毎年)の前ではありません。関連するサイズオプションは似ていますが、時間間隔オプションと相互に排他的であり、最後のローテーション時間に関係なくログファイルがローテーションされる点が異なります。minsizeを使用すると、ログファイルのサイズとタイムスタンプの両方が考慮されます。size size
ログファイルは、sizeバイトより大きくなるとローテーションされます。サイズの後にkが続く場合、サイズはキロバイト単位であると想定されます。Mが使用されている場合、サイズはメガバイト単位であり、Gが使用されている場合、サイズはギガバイト単位です。したがって、サイズ100、サイズ100k、サイズ100Mおよびサイズ100Gはすべて有効です。
私はセットのサイズをと5Mとの間隔など毎週のログは週単位で回転になるだろうと、ログのサイズが5Mを超えた場合、追加の回転が起こるだろうとの考え方。しかし、発生するのは、ログが5Mを超えない限りローテーションされないということです。これは、minsizeが行うべきことのようです。
マニュアルを誤って解釈していますか?毎週、および5Mを超える場合にログをローテーションするにはどうすればよいですか?
編集:
次の情報が関連するかどうかはわかりませんが、補足するだけです。
rsyslogを使用して、メッセージ、セキュア、cron、maillog、bootのメインロギングを実行しています。以下は、サイズと間隔が上記のように設定されている最後から2番目のログのローテーション日付とファイルサイズです。
filename rotation date file size
messages 20130129 5.3MB
secure 20130113 5.1kB
cron 20130113 3.6kB
maillog 20130113 1.1kB
ご覧のように、メッセージのみがローテーションされます。
EDIT2:
で確認する必要がありman logrotate
ます。彼らは実際にmaxsizeオプションでそれをアップグレードしました。これは私が探しているものでなければなりません:
maxsize size
ログファイルは、追加で指定された時間間隔(毎日、毎週、毎月、または毎年)の前でもsizeバイトより大きくなるとローテーションされます。関連するサイズオプションは似ていますが、時間間隔オプションと相互に排他的であり、最後のローテーション時間に関係なくログファイルがローテーションされる点が異なります。maxsizeを使用すると、ログファイルのサイズとタイムスタンプの両方が考慮されます。