Logrotate (delaycompress) - gzip: stdin: file size changed while zipping

Wir bekommen neuerdings wieder Mails von Logrotate, hier ein Beispiel:

/etc/cron.daily/logrotate:
error: Compressing program wrote following message to stderr when compressing log /var/log/univention/connector-s4-status.log.1:
gzip: stdin: file size changed while zipping

Wir bekommen die Mails auf mehreren UCS-Systemen, allerdings mit unterschiedlichen Logdateien: log.smbd, log.nmbd, connector-s4-status.log

Auf anderen Debian-Systemen benutzen wir delaycompress, um das Komprimieren der Logdateien um eine Logdatei zu verzögern (sodass keine Logdatei komprimiert wird, die sich noch verändert). Auf den UCS-Systemen haben wir auch jeweils ucr set logrotate/delaycompress=yes gesetzt, wodurch wir vor einiger Zeit die Mails losgeworden sind. Erneutes Ausführen von ucr set logrotate/delaycompress=yes berührt zwar die entsprechende Datei unter /etc/logrotate.d, aber fügt ihr kein delaycompress mehr hinzu.

Anscheinend hat das bis mindestens 2019-08-13 08:27 funktioniert:

foobar:/etc/logrotate.d# l univention-s4-connector
-rw-r--r-- 1 root root 747 2019-11-13 12:08 univention-s4-connector
foobar:/etc/logrotate.d# grep delay univention-s4-connector
foobar:/etc/logrotate.d# l samba
-rw-r--r-- 1 root root 784 2019-08-13 08:27 samba
foobar:/etc/logrotate.d# grep delay samba
        delaycompress
        delaycompress

Als Workaround habe ich

_getBoolDefault("logrotate/delaycompress", "logrotate/" + name + "/delaycompress", settings, configRegistry)

zu folgender Datei hinzugefügt:

/usr/lib/python2.7/dist-packages/univention/lib/ucrLogrotate.py

Die Datei wird natürlich bei einem Update überschrieben, daher wäre es schön wenn UCS delaycompress (wieder?) ins System einbauen würde.

Man kann bei Logrotate auch Standardeinstellungen vorgeben, die für alle weiteren Logdateien gelten. Wir nutzen z.B. in /etc/logrotate.d/00linet:

dateext
delaycompress

Dadurch ist es nicht nötig, Univention-Dateien anzfassen, um den von dir gewünschten Effekt zu erzielen.

1 Like
Mastodon