Kann Logrotate das Postrotate-Skript überspringen, wenn keine Protokollrotation stattgefunden hat?

Kann Logrotate das Postrotate-Skript überspringen, wenn keine Protokollrotation stattgefunden hat?

Ich habe logrotate so konfiguriert, dass nur dann rotiert wird, wenn die Größe der Protokolldatei einen bestimmten Grenzwert überschreitet. Einige logrotate-Definitionen haben Postrotate-Skripte, die scheinbar jedes Mal ausgeführt werden, wenn logrotate aufgerufen wird, unabhängig davon, ob die betreffende Protokolldatei rotiert wurde oder nicht. Es finden also einige Verarbeitungsvorgänge statt, obwohl logrotate die Protokolldatei nicht ändern muss.

Gibt es eine Möglichkeit, den Postrotate-Teil zu überspringen, wenn die Protokolldatei nicht rotiert wurde?

Beispieleintrag:

# 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
}

und ich führe den folgenden Befehl aus, um zu sehen, was passiert:

logrotate -d -f /etc/logrotate.conf

Antwort1

Entschuldigen Sie den Fehler. Ich habe es ausgeführt logrotate -d -f /etc/logrotate.conf, wodurch die Rotation erzwungen wird, auch wenn die Bedingungen nicht übereinstimmen. Wenn ich es ohne die -fOption ausführe, funktioniert alles wie gewünscht.

verwandte Informationen