%20ausgef%C3%BChrt%3F.png)
Ich verwende Fedora20 und dessen Standard-Cron. Ich habe ein Cron-Job-Skript, das den Server mit rtcwake um 10:30 Uhr in den Ruhezustand versetzt und um 12:30 Uhr aufwacht. Wenn ich das Skript manuell um 9:40 Uhr ausführe, wird es auch um 12:30 Uhr aufwachen. Wenn ich das Skript manuell um 9:40 Uhr ausführe, wird es dann die verpasste Cron-Aufgabe um 10:30 Uhr nach dem Aufwachen um 12:30 Uhr ausführen und sofort in den Ruhezustand wechseln (wodurch es um 15:30 Uhr aufwacht)?
Das scheint bei meinem Server der Fall zu sein, und ich möchte wissen, ob der Cron den verpassten Job nach dem Aufwachen ausführt. Wenn ja, gibt es eine Möglichkeit, dieses Verhalten zu ändern? Vielen Dank.
Antwort1
Fedora verwendet standardmäßigChroniken, das eine anacron-ähnliche Funktionalität enthält, um Jobs regelmäßig auszuführen, selbst wenn das System ausgeschaltet ist. Die Standardeinstellung /etc/anacrontab
sieht folgendermaßen aus:
#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
... was bedeutet, dass standardmäßig alle Skripte, die Sie in eines dieser Verzeichnisse ( /etc/cron.[daily,weekly,monthly]
) einfügen, auch dann ausgeführt werden, wenn der Computer ausgeschaltet ist. Dinge in /etc/crontab
oder /etc/cron.d
oder Benutzer-Crontabs funktionieren jedoch nicht auf diese Weise. Sehen Sie sich an, man anacrontab
wie Sie neue Einträge hinzufügen, wenn die vorhandenen periodischen Zeitpläne für Sie nicht funktionieren.
Antwort2
Nicht alle cron
Daemons können Fälle von nicht kontinuierlicher Verfügbarkeit verarbeiten. Einer, der speziell für die Ausführung „verpasster“ Jobs entwickelt wurde, istanacron
.