Um 00:00, an Tag 1 des Monats, nur im Januar

0 0 1 1 *

Felder

Minute00
Stunde00
Tag des Monats11
Monat11
Wochentag*beliebig

Wo du ihn verwendest

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

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

Gut zu wissen

0 0 1 1 * läuft einmal im Jahr um Mitternacht am 1. Januar, genau wie @yearly und @annually. So seltene Jobs sind schwer zu testen und leicht zu vergessen: Bis zum nächsten Januar können sich das Skript, seine Zugangsdaten oder der Server selbst geändert haben. Führe ihn nach der Einrichtung einmal von Hand aus und richte ein Monitoring ein, das Alarm schlägt, wenn innerhalb eines Jahres und eines Tages kein erfolgreicher Lauf gemeldet wird.

Die Serverzeit passt nicht unbedingt zu deinem Jahreswechsel: Auf einem UTC-Server feuert der Job in Mitteleuropa um 01:00 und in New York am 31. Dezember um 19:00. Ist die Maschine in diesem Moment aus, holt cron nichts nach, anacron oder ein systemd-Timer mit Persistent=true dagegen schon. Für vierteljährliche Läufe nimm 0 0 1 1,4,7,10 * oder das gleichwertige 0 0 1 */3 *.

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