logrotate dreht sich nicht zu der in crontab angegebenen Zeit

1161
rexemTrebor

Ich frage mich, warum logrotate meine Logdateien nicht zu der Zeit rotiert, zu der sie durch Crontab aufgerufen werden.

Mein Eintrag in Crontab lautet:

50 2 * * * / usr / sbin / logrotate

Deshalb sollten alle meine Protokolle nachts um 2:50 Uhr gedreht werden. Ich erhalte von meinem Server eine Status-E-Mail, die um 2:50 aufgerufen wird. Dies scheint also zu funktionieren.

Die Protokolle werden korrekt gedreht - aber nicht um 2:50 Uhr, sie werden um 9:30 Uhr gedreht.

Ich habe mehr für die 2h gegoogelt, logrotate.conf und meine Dateien unter logrotate.d überprüft, aber ich kann keine Konfiguration finden, die diese Zeitverzögerung verursachen könnte. Ich wäre dankbar für einen Hinweis, was dieses Verhalten verursachen könnte und wie ich es ändern kann (die Einstellungen wurden von meinem Vorgänger konfiguriert und ich hinterließ keine Dokumentation).

0

2 Antworten auf die Frage

0
jcbermu

logrotate wird von gesteuert anacron.

Überprüfen Sie die Konfiguration dieses Dienstes in der Datei etc\anacrontab. Zum Beispiel kann es sein:

# /etc/anacrontab: configuration file for anacron  # See anacron(8) and anacrontab(5) for details.  SHELL=/bin/sh PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # the maximal random delay added to the base delay of the jobs RANDOM_DELAY=10 # the jobs will be started during the following hours only START_HOURS_RANGE=3-4  #period in days delay in minutes job-identifier command 1 5 cron.daily nice run-parts /etc/cron.daily 7 25 cron.weekly nice run-parts /etc/cron.weekly @monthly 45 cron.monthly nice run-parts /etc/cron.monthly 

Die Zeile START_HOURS_RANGE=3-4zeigt an, dass anacron zu jeder Zeit zwischen 3 Uhr morgens und 4 Uhr nachmittags ausgeführt wird. Die Linie RANDOM_DELAY=10bedeutet, dass die Startzeit um eine zufällige Zeit von maximal 10 Minuten verlängert wird.

Sie müssen dies ändern, damit es zum gewünschten Zeitpunkt funktioniert.

Danke für die Idee - das könnte der Grund gewesen sein. Da ich jedoch Suse Linux Enterprise Server verwende, gibt es auf meinem System weder Anacron noch Fcron. rexemTrebor vor 7 Jahren 0
0
rexemTrebor

OK, ich habe das Problem gefunden: Es gibt einen weiteren Eintrag von Logrotate in cron.daily, den ich in letzter Zeit nicht gesehen habe

Also - zumindest in SLES - müssen Sie das DAILY_TIME in / etc / sysconfig / cron konfigurieren, das standardmäßig leer ist und daher normalerweise 15 Minuten nach dem Booten ausgeführt werden sollte.

Warum war das immer 9.30? Ich weiß es nicht, aber als ich es um 4:00 Uhr geändert habe, dreht es meine Protokolle tatsächlich um 4:00 Uhr.

Erhalten Sie die Informationen von hier: https://lists.opensuse.org/opensuse/2011-09/msg00550.html