Logrotate Fehler in univention cron Skript

german

#1

In meinen morgendlichen Cron-Mail habe ich heute folgenden Fehler gefunden:

/etc/cron.daily/logrotate: chmod: cannot access `/var/log/univention/directory-manager-web.log': No such file or directory

Wie kann ich den abstellen?

Mit freundlichen Grüßen,

Mario Minati


#2

Hallo,

diese Fehlermeldung hat keine negativen Auswirkungen auf das System.

Standardmäßig ist logrotate so konfiguriert, dass fehlende Logdateien ignoriert werden. Dazu ist in der Datei “/etc/logrotate.conf” die Option “missingok” vorhanden.
Wenn die Datei nicht mehr mit der Standardkonfiguration vorliegt, können Sie diese mit folgendem Befehl aus dem Template neu erzeugen:

univention-configuration-registry commit /etc/logrotate.conf

Sollte dies nicht funktionieren, können Sie prüfen ob unter “/etc/univention/templates/files/etc/” eine Datei logrotate-conf.debian besteht ? Diese Dateien werden erzeugt, wenn an einem Template Änderungen vorgenommen wurden und bei einem Paketupdate neue Templatedateien mitgebracht wurden. Dann sollten die eigenen Änderungen in dieser Datei vorgenommen und die Datei daraufhin in logrotate.conf umbenannt werden.

Mit freundlichen Grüßen
Tobias Scherer


#3

Vielen Dank für Ihre Antwort.

Unsere logrotate.conf enthält die korrekten Einträge (wurde auch nie geändert):

[code]# rotate log files weekly
weekly

keep some weeks worth of backlogs

rotate 12

ignore diverted files

tabooext + .debian

create new (empty) log files after rotating old ones

create

uncomment this if you want your log files compressed

#compress

packages drop log rotation information into this directory

include /etc/logrotate.d

/var/log/univention/*.log {
weekly
missingok
rotate 12
create 640 root adm
lastaction
test -x /usr/sbin/univention-set-logfile-permissions && /usr/sbin/univention-set-logfile-permissions || true
test -x /usr/bin/sv && test -e /etc/runit/univention/univention-directory-listener && sv term univention-directory-listener || true
test -x /usr/bin/sv && test -e /etc/runit/univention/univention-directory-notifier && sv term univention-directory-notifier || true
test -x /usr/bin/sv && test -e /etc/runit/univention/univention-dhcp && sv term univention-dhcp || true
test -x /usr/bin/sv && test -e /etc/runit/univention/univention-bind && sv term univention-bind || true
test -x /usr/bin/sv && test -e /etc/runit/univention/univention-bind-proxy && sv term univention-bind-proxy || true
endscript
}[/code]

“/etc/univention/templates/files/etc/logrotate.conf.debian” existiert nicht, wohl aber “/etc/logrotate.conf.debian”.
Doch dort fehlt der komplette Zweig für “…/univention/*.log”.

Mit freundlichen Grüßen,

Mario Minati


#4

Hallo,

so wie der Zustand jetzt aktuell bei Ihnen ist, ist es völlig in Ordnung. Die Datei “/etc/univention/templates/files/etc/logrotate.conf.debian” würde in diesem Fall bei einem Paketupdate nur angelegt werden, wenn Sie das entsprechende Template verändert/angepasst hätten. Da die Datei “/etc/logrotate.conf” über den Unvention Configuration Registry Mechanismus verwaltet wird, existiert standardmäßig dazu eine entsprechende .debian Datei, die durch den divert Mechanismus erzeugt wird. Die .debian Dateien wiederum enthalten den Inhalt der von den Debianpaketen selbst mitgebracht werden.

Mit freundlichen Grüßen
Murat Odabas