ログローテーションが行われなかった場合、logrotate は postrotate スクリプトをスキップできますか?

ログローテーションが行われなかった場合、logrotate は postrotate スクリプトをスキップできますか?

ログ ファイルのサイズが特定の制限を超えた場合にのみ logrotate をローテーションするように設定しました。一部の logrotate 定義には、ログ ファイルがローテーションされているかどうかに関係なく、logrotate が呼び出されるたびに実行される postrotate スクリプトがあります。そのため、logrotate がログ ファイルを変更する必要がない場合でも、何らかの処理が実行されます。

ログ ファイルがローテーションされていない場合、postrotate 部分をスキップする方法はありますか?

エントリ例:

# global settings
size=3M
rotate 2
create
compress
delaycompress
include /etc/logrotate.d

# wtmp settings
/var/log/wtmp
{
   size=3M
   create 0664 root utmp
   rotate 1
}

そして、何が起こるかを確認するために次のコマンドを実行します。

logrotate -d -f /etc/logrotate.conf

答え1

間違いをお詫びします。logrotate -d -f /etc/logrotate.conf条件が一致しない場合でも回転を強制するオプションを実行しました。オプションなしで実行すると、-fすべてが期待どおりに動作します。

関連情報