DevToolPal
DE

Cron-Ausdruck

Jedes Jahr

Läuft einmal im Jahr um 00:00 am 1. Januar. Entspricht @yearly und @annually.

0 0 1 1 * Im Cron-Parser öffnen

Feld für Feld

Feld Wert Trifft zu auf
Minute 0 0
Stunde 0 0
Tag des Monats 1 1
Monat 1 Januar
Wochentag * Jeder Wert

Nächste Ausführungen

Beispiel: die ersten 6 Ausführungen nach dem 1. Januar 2026 (UTC).

  1. Fr., 1. Jan. 2027, 00:00
  2. Sa., 1. Jan. 2028, 00:00
  3. Mo., 1. Jan. 2029, 00:00
  4. Di., 1. Jan. 2030, 00:00
  5. Mi., 1. Jan. 2031, 00:00
  6. Do., 1. Jan. 2032, 00:00

Fertige Varianten

crontab
0 0 1 1 * /path/to/command

Fügen Sie die Zeile mit crontab -e hinzu. Sie läuft in der Zeitzone des Servers, sofern CRON_TZ oder TZ nicht gesetzt ist.

Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-year
spec:
  schedule: "0 0 1 1 *"
  timeZone: "Etc/UTC"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: job
              image: busybox:1.36
              command: ["/bin/sh", "-c", "date; echo run"]

Setzen Sie spec.timeZone (Kubernetes 1.27+); sonst gilt die Zeitzone des Controller Managers, meist UTC.

GitHub Actions
on:
  schedule:
    - cron: '0 0 1 1 *'
  workflow_dispatch:

GitHub Actions verwendet immer UTC, erlaubt Intervalle ab 5 Minuten und startet geplante Läufe bei hoher Last eventuell verspätet.

Quartz
0 0 0 1 1 ?

Quartz stellt die Sekunden voran und braucht ? entweder im Tag des Monats oder im Wochentag. Die Tage zählen 1–7 ab Sonntag, Namen sind daher sicherer.

Spring
@Scheduled(cron = "0 0 0 1 1 *")

Spring @Scheduled(cron = …) erwartet sechs Felder: Sekunden und dann die üblichen fünf.

FAQ

› Ist cron für jährliche Jobs zuverlässig?

Ist der Rechner in diesem Moment aus, fällt der Lauf aus. Für Jobs, die nachgeholt werden müssen, nutzen Sie anacron oder einen systemd-Timer mit Persistent=true.

› In welcher Zeitzone läuft 0 0 1 1 *?

Cron verwendet die Zeitzone der Maschine oder des Dienstes, der ihn ausführt. Unter Linux ist das die Systemzeitzone, sofern CRON_TZ oder TZ nicht gesetzt ist; Kubernetes-CronJobs akzeptieren spec.timeZone; GitHub Actions nutzt immer UTC.

› Wie prüfe ich den Zeitplan vor dem Deployment?

Öffnen Sie 0 0 1 1 * im Cron-Parser dieser Website. Er erklärt jedes Feld und listet die nächsten Ausführungen in Ihrer Ortszeit oder in UTC auf, direkt im Browser.