Um 00:00, nur jeden Sonntag

0 0 * * 0

Felder

Minute00
Stunde00
Tag des Monats*beliebig
Monat*beliebig
Wochentag00

Wo du ihn verwendest

crontab0 0 * * 0 /path/to/script.sh
GitHub Actions- cron: "0 0 * * 0" (on.schedule)
Kubernetes CronJobschedule: "0 0 * * 0"

crontab läuft in der Zeitzone des Servers; GitHub Actions verwendet immer UTC.

Gut zu wissen

0 0 * * 0 läuft um Mitternacht zu Beginn des Sonntags, direkt nach dem Ende des Samstags. Wenn du Sonntagabend meinst, also das Ende der Woche, nimm 0 23 * * 0, oder 0 0 * * 1 für Montag 00:00. In Vixie cron und cronie bedeuten 0 und 7 beide Sonntag, und @weekly entspricht 0 0 * * 0. Quartz-basierte Scheduler nummerieren die Tage von 1 bis 7 mit Sonntag als 1, also prüfe das, bevor du kopierst.

Wöchentliche Jobs scheitern leise: War der Server am Sonntag um Mitternacht aus, holt cron nichts nach und du wartest eine weitere Woche, während anacron oder ein systemd-Timer mit Persistent=true verpasste Jobs nach dem Booten ausführt. Wöchentliche Wartung dauert oft lange, also nutze flock -n, logge die Ausgabe und füge ein Heartbeat-Monitoring hinzu. Für jeden zweiten Sonntag prüfe im Befehl die Kalenderwoche aus date +\%V.

Cron-Ausdrücke erstellen und erklären öffnen