DevToolPal
DE

Cron-Ausdruck

Am Ersten jedes Monats

Läuft um 00:00 am 1. jedes Monats. Entspricht dem Makro @monthly.

0 0 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 * Jeder Wert
Wochentag * Jeder Wert

Nächste Ausführungen

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

  1. So., 1. Feb. 2026, 00:00
  2. So., 1. März 2026, 00:00
  3. Mi., 1. Apr. 2026, 00:00
  4. Fr., 1. Mai 2026, 00:00
  5. Mo., 1. Juni 2026, 00:00
  6. Mi., 1. Juli 2026, 00:00

Fertige Varianten

crontab
0 0 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: first-day-of-month
spec:
  schedule: "0 0 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 * *'
  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 * ?

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 * *")

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

FAQ

› Wie laufe ich am ersten Werktag des Monats?

cron kann das nicht direkt ausdrücken. Lassen Sie den Job an den Tagen 1–3 laufen (0 9 1-3 * *) und das Skript prüfen, ob es der erste Werktag ist.

› In welcher Zeitzone läuft 0 0 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 * * 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.