OneKitTools logoOneKitTools
developer4 Min. Lesezeit

"Cron-Ausdrücke erklärt: Von den Grundlagen bis zu fortgeschrittenen Zeitplänen"

Was ist ein Cron-Ausdruck? Lerne Syntax, Felder und Sonderzeichen — mit praxisnahen Beispielen für häufige Zeitpläne wie "täglich um Mitternacht" oder "jeden Montag um 9 Uhr".

OneKitTools Team14. April 2026

Was ist ein Cron-Ausdruck?

Cron ist ein zeitbasierter Job-Scheduler, der in Unix/Linux-Systemen eingebaut ist. Ein Cron-Ausdruck ist die Syntax, die cron mitteilt, wann eine Aufgabe ausgeführt werden soll.

Du kennst sie: 0 0 * * *. Das bedeutet "um Mitternacht, jeden Tag." Aber sobald man über die Grundlagen hinausgeht, wird die Cron-Syntax schnell komplex — 5 Felder, optionale Sekunden, Plattformunterschiede und Sonderzeichen, die die meisten ohne Verständnis kopieren.

Dieser Leitfaden bringt Klarheit.

Die 5 (oder 6) Felder

Standard-Cron verwendet 5 durch Leerzeichen getrennte Felder:

┌──────────── Minute (0–59) │ ┌────────── Stunde (0–23) │ │ ┌──────── Tag des Monats (1–31) │ │ │ ┌────── Monat (1–12) │ │ │ │ ┌──── Wochentag (0–7, 0 und 7 = Sonntag) │ │ │ │ │ * * * * *

Einige Systeme (AWS EventBridge, Spring, Quartz) fügen am Anfang ein Sekunden-Feld hinzu, was 6 Felder ergibt. Prüfe deine Plattform.

Sonderzeichen

ZeichenBedeutungBeispiel
*Alle Werte* * * * * = jede Minute
,Mehrere Werte0 9,17 * * * = 9 und 17 Uhr
-Bereich0 9-17 * * * = jede Stunde von 9–17 Uhr
/Schritt*/15 * * * * = alle 15 Minuten
LLetzter0 0 L * * = letzter Tag des Monats (nur Quartz)
?Kein Wert0 0 ? * MON = Montage, beliebiger Monatstag (Quartz)

Häufige Cron-Ausdrücke

Jede Minute

* * * * *

Alle 5 Minuten

*/5 * * * *

Jede Stunde, zur vollen Stunde

0 * * * *

Täglich um Mitternacht

0 0 * * *

Täglich um 9 Uhr

0 9 * * *

Jeden Montag um 9 Uhr

0 9 * * 1

Jeden Werktag (Mo–Fr) um 8 Uhr

0 8 * * 1-5

Jedes Wochenende um 12 Uhr

0 12 * * 0,6

Ersten Tag jedes Monats um Mitternacht

0 0 1 * *

Jedes Quartal (Jan, Apr, Jul, Okt) um Mitternacht

0 0 1 1,4,7,10 *

Alle 30 Minuten zwischen 9 und 17 Uhr an Werktagen

*/30 9-17 * * 1-5

Die Fallen

"Alle 2 Stunden" ist 0 */2 * * *, nicht */2 * * * *

*/2 * * * * bedeutet alle 2 Minuten. Der Schritt bezieht sich auf das Feld, in dem er steht.

Sonntag ist 0 und 7

In Standard-Cron bedeuten 0 und 7 beide Sonntag. Vermeide Mehrdeutigkeit — verwende durchgängig 0.

Tag des Monats UND Wochentag sind ODER, nicht UND

0 0 1 * 1 läuft am 1. jeden Monats UND jeden Montag — nicht nur an Montagen, die auf den 1. fallen. Für "den ersten Montag des Monats" braucht man Skript-Logik außerhalb von Cron.

Zeitzonen

Cron läuft in der lokalen Zeitzone des Servers, sofern nicht anders konfiguriert. Ein Job bei 0 9 * * * auf einem UTC-Server läuft um 9 Uhr UTC — was in deiner Zeitzone 2 Uhr nachts oder 23 Uhr sein könnte.

Immer prüfen:

timedatectl   # zeigt aktuelle Zeitzone unter Linux

Benannte Kürzel (nicht standard, aber weit verbreitet)

KürzelÄquivalentBedeutung
@yearly0 0 1 1 *Einmal pro Jahr
@monthly0 0 1 * *Einmal pro Monat
@weekly0 0 * * 0Einmal pro Woche (Sonntag)
@daily0 0 * * *Einmal täglich (Mitternacht)
@hourly0 * * * *Einmal pro Stunde
@rebootBeim Systemstart

Cron-Ausdrücke generieren und validieren

Cron Generator ermöglicht es, Ausdrücke visuell zu erstellen — Zeitplan in einfacher Sprache wählen, Cron-Ausdruck erhalten. Kein Raten mehr, ob 0 9 * * 1-5 korrekt ist.

Funktioniert auch umgekehrt: beliebigen Cron-Ausdruck einfügen und eine Erklärung in verständlicher Sprache erhalten, wann er ausgeführt wird.

Schnellreferenz-Karte

# ┌──── Minute 0-59 # │ ┌─── Stunde 0-23 # │ │ ┌── Tag 1-31 # │ │ │ ┌─ Monat 1-12 # │ │ │ │ ┌ Wochentag 0-7 (0=So) # │ │ │ │ │ * * * * * jede Minute 0 * * * * jede Stunde 0 0 * * * täglich um Mitternacht 0 9 * * 1 jeden Montag um 9 Uhr */15 * * * * alle 15 Minuten 0 0 1 * * erster Tag jedes Monats
Teilen