DevToolPal
DE

Cron-Ausdruck

Zweimal im Monat

Läuft um 00:00 am 1. und 15. jedes Monats, etwa für Gehaltsabrechnung oder Rechnungen.

0 0 1,15 * * Im Cron-Parser öffnen

Feld für Feld

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

Nächste Ausführungen

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

  1. Do., 15. Jan. 2026, 00:00
  2. So., 1. Feb. 2026, 00:00
  3. So., 15. Feb. 2026, 00:00
  4. So., 1. März 2026, 00:00
  5. So., 15. März 2026, 00:00
  6. Mi., 1. Apr. 2026, 00:00

Fertige Varianten

crontab
0 0 1,15 * * /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: twice-a-month
spec:
  schedule: "0 0 1,15 * *"
  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,15 * *'
  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,15 * ?

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

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

FAQ

› Kann ich stattdessen alle zwei Wochen laufen?

Nicht exakt; Monate lassen sich nicht in Wochen teilen. Der 1. und 15. sind die übliche Annäherung.

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

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,15 * * 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.