0 0 * * 0 lässt den Auftrag einmal pro Woche laufen, sonntags um 0:00 Uhr. Das letzte Feld wählt den Wochentag, und Cron zählt den Sonntag als 0; eine 7 an dieser Stelle meint denselben Tag. Die Kurzform @weekly steht für genau diese Zeile, weshalb wöchentliche Wartung traditionell in der Nacht auf Sonntag liegt.
Ist der Sonntag in Cron 0 oder 7?
Beides. Das Wochentagsfeld nimmt Werte von 0 bis 7, und 0 und 7 sind derselbe Tag. Deshalb deckt schon der Bereich 0-6 die ganze Woche ab, und ein Bereich wie 5-7 ergibt Freitag, Samstag und Sonntag. Ein Bereich über den Rand hinweg, etwa 6-1 für Wochenende plus Montag, ist nicht erlaubt – dafür schreibt man 6,0,1.
Sonntag um Mitternacht – Anfang oder Ende der Woche?
Für Cron ist es schlicht der Moment, in dem der Wochentag zum Sonntag wird, also die Nacht von Samstag auf Sonntag. In Deutschland beginnt die Woche nach ISO 8601 am Montag, ein Wochenbericht sonntags um 0:00 Uhr fasst also eine noch laufende Woche zusammen. Wer die abgeschlossene Woche will, plant stattdessen 0 3 * * 1 am Montagmorgen.
Wofür taugt ein wöchentlicher Plan?
Für alles, was täglich zu teuer wäre: Vollsicherungen neben den täglichen Zuwächsen, Datenbankpflege, Neuaufbau von Indizes, Berichte über eine ganze Woche, Aufräumen alter Zwischendateien. Der lange Abstand macht Überwachung wichtiger, nicht unwichtiger – ein still gescheiterter Wochenauftrag fällt erst eine Woche später auf, also protokolliere den Rückgabewert.
So trägst du den Ausdruck ein
- Zuerst den Wochentag festlegen: 0 für die Nacht auf Sonntag, 1 für den Montagmorgen, wenn die abgeschlossene Woche gemeint ist.
- Die Zeile 0 0 * * 0 samt Befehl eintragen – oder @weekly, wenn sich der Plan kaum ändern wird.
- Bei einem schweren Auftrag eine ruhige Stunde wählen; Sonntag 3 Uhr ist leerer als Sonntag Mitternacht.
- Den Rückgabewert protokollieren, damit ein fehlgeschlagener Wochenlauf nicht sieben Tage unbemerkt bleibt.