オタク物これには例がありますlogrotate
。copytruncate
ソースログファイルがコピーされ、切り捨てられます。
それで、なぜ私たちはそれを使うのですかcreate
?元のログファイルは削除されませんでした。
/tmp/output.log {
size 1k
copytruncate
create
compress
compresscmd /bin/bzip2
compressext .bz2
rotate 4
maxage 100
}
もう一つの質問はそれが何のために使われますかmaxage 100
?このrotate 4
コマンドは、4サイクル後に古いログファイルを削除します。
答え1
これはおそらくこのチュートリアルの一例でのみ発見されたバグです。他のすべての例にはcopytruncate
このオプションはありませんcreate
。返品logrotate
マニュアルページ指摘実際には無視されます:
copytruncate
古いログファイルを移動して新しいログファイルを生成することを選択するのではなく、コピーを作成したら、元のログファイルをゼロサイズに切り捨てます。一部のプログラムでログファイルを閉じるように指示できないため、古いログファイルに永続的に書き込む(追加)できる場合に使用できます。ファイルのコピーとトリミングの間の時間間隔は非常に短いため、一部のロギングデータが失われる可能性があります。このオプションを使用すると、古いログファイルはそのまま残り、作成オプションは適用されません。
たとえば、maxage
複数の回転期間(日/週/月)で空になる可能性があるログファイルに役立ちます。以前の回転ファイルを使用している場合notifempty
。