Cron-Ausdruck-Grundlagen: Die 5 Felder verstehen
Eine verständliche Aufschlüsselung der Standard-Cron-Syntax, die Sie sofort anwenden können
Cron-Erklärer ausprobierenWarum Cron-Ausdrücke selbst erfahrene Entwickler ins Stolpern bringen
Die meisten Cron-Fehler entstehen vor der Bereitstellung, wenn Planungsabsicht und Syntax auseinandergehen. Sie möchten, dass ein Job jeden Werktag um 8 Uhr ausgeführt wird, aber ein falsch platzierter Wert verschiebt ihn auf jede Stunde oder jeden Tag des Monats. Die Ursache ist fast immer dieselbe: Die fünf Felder eines Cron-Ausdrucks sind kompakt, positionsgebunden und unerbittlich.
Ein Standard-Cron-Ausdruck ist eine einzelne Zeile mit fünf durch Leerzeichen getrennten Feldern. Jedes Feld entspricht einer Zeiteinheit, und zusammen definieren sie einen wiederkehrenden Zeitplan. Es gibt keine Beschriftungen, standardmäßig keine Schlüsselwörter und keinen Spielraum für Mehrdeutigkeit, sobald der Scheduler die Zeile liest.
Dieser Artikel erklärt die Struktur des 5-Feld-Cron-Formats in verständlicher Sprache. Sie erfahren, was jedes Feld steuert, wie gängige Token funktionieren und wo typische Fehlinterpretationen auftreten. Jedes Beispiel kann sofort im Cronwise Cron-Erklärer überprüft werden, der Ihnen eine verständliche Aufschlüsselung und eine zeitzonenbewusste Vorschau der nächsten Ausführungen für jeden eingegebenen Ausdruck liefert.
Ob Sie Ihren ersten Crontab-Eintrag schreiben oder einen Zeitplan überprüfen, den jemand anderes erstellt hat – das Verständnis dieser fünf Felder ist die Grundlage für jeden weiteren Cron-Workflow.
Die fünf Felder: Was jedes einzelne steuert
Jeder Standard-Cron-Ausdruck folgt demselben positionellen Format. Von links nach rechts lauten die fünf Felder:
| Position | Feld | Erlaubte Werte | Beschreibung |
|---|---|---|---|
| 1 | Minute | 0 – 59 | Die Minute der Stunde, in der der Job ausgeführt wird |
| 2 | Stunde | 0 – 23 | Die Stunde des Tages (24-Stunden-Format) |
| 3 | Tag des Monats | 1 – 31 | Der Kalendertag |
| 4 | Monat | 1 – 12 | Der Monat des Jahres |
| 5 | Wochentag | 0 – 7 | Der Wochentag (0 und 7 stehen beide für Sonntag) |
Ein konkretes Beispiel verdeutlicht die Zuordnung. Der Ausdruck 30 8 * * 1-5 bedeutet: in Minute 30, der Stunde 8, an jedem Tag des Monats, in jedem Monat, aber nur an den Wochentagen Montag bis Freitag. In verständlicher Sprache: 8:30 Uhr, Montag bis Freitag.
Das Sternchen (*) ist ein Platzhalter, der jeden erlaubten Wert für dieses Feld abdeckt. Lesen Sie es als „jede/r/s“. Also bedeutet * * * * * jede Minute jeder Stunde jedes Tages — der häufigste mögliche Zeitplan in Standard-Cron.
Gängige Token und wie sie funktionieren
Neben dem Sternchen-Platzhalter unterstützen Cron-Felder mehrere Token, mit denen Sie Bereiche, Intervalle und Listen ausdrücken können, ohne separate Einträge zu schreiben.
Komma (Liste)
Ein Komma trennt einzelne Werte. 0 9,12,18 * * * wird um 9:00 Uhr, 12:00 Uhr und 18:00 Uhr jeden Tag ausgelöst. Jeder Wert in der Liste wird unabhängig behandelt.
Bindestrich (Bereich)
Ein Bindestrich definiert einen zusammenhängenden Bereich. 0 9-17 * * * wird zur vollen Stunde von 9:00 bis 17:00 Uhr ausgelöst. Bereiche sind an beiden Enden inklusive.
Schrägstrich (Schritt)
Ein Schrägstrich definiert ein Intervall. */15 * * * * wird alle 15 Minuten ausgelöst, beginnend bei Minute 0. Sie können einen Bereich mit einem Schritt kombinieren: 0-30/10 * * * * wird in den Minuten 0, 10, 20 und 30 jeder Stunde ausgelöst.
Token kombinieren
Token können innerhalb eines einzelnen Felds gemischt werden. 0 8-12,18 * * 1-5 wird zur vollen Stunde der Stunden 8 bis 12 und auch zur Stunde 18 ausgeführt, aber nur an Werktagen. Jedes Feld wird unabhängig ausgewertet, und der Scheduler löst aus, wenn alle fünf Felder gleichzeitig übereinstimmen.
Für eine ausführlichere Anleitung zu Lesestrategien lesen Sie Cron-Ausdrücke schnell lesen, das mentale Modelle für das schnelle Analysieren von Ausdrücken behandelt.
Reale Zeitpläne interpretieren
Einen Cron-Ausdruck korrekt zu lesen bedeutet, jedes Feld der Reihe nach zu übersetzen und dann zu einem einzelnen Satz zu kombinieren. Hier sind praktische Beispiele mit ihren verständlichen Entsprechungen:
| Ausdruck | Bedeutung | Einsatzzweck | Risikohinweise |
|---|---|---|---|
0 0 * * * | Mitternacht, jeden Tag | Tägliche Batch-Jobs, Log-Rotation | Hohe Belastung, wenn viele Jobs diesen Zeitslot teilen |
*/5 * * * * | Alle 5 Minuten | Health-Checks, Queue-Abfragen | Hohe Frequenz; bestätigen Sie, dass der Job idempotent ist |
0 9 1 * * | 9:00 Uhr am 1. jedes Monats | Monatsberichte | Monate mit weniger als 31 Tagen verhalten sich normal |
30 2 * * 0 | 2:30 Uhr jeden Sonntag | Wöchentliches Wartungsfenster | Kann sich mit Sommerzeitumstellungen im Frühling überschneiden |
0 */2 * * 1-5 | Alle 2 Stunden an Werktagen | Abfragen während der Geschäftszeiten | Läuft um 0, 2, 4 … 22 Uhr — nicht nur während der Arbeitszeiten |
Das letzte Beispiel ist eine häufige Fehlinterpretation. */2 im Stundenfeld bedeutet jede zweite Stunde ab 0, nicht jede zweite Stunde während der Geschäftszeiten. Wenn Sie nur 9 bis 17 Uhr möchten, benötigen Sie stattdessen 0 9-17/2 * * 1-5. Dies ist genau die Art von subtilem Fehler, die der Cronwise Erklärer erkennt, indem er Ihnen die nächsten 10 geplanten Ausführungen in Ihrer Zeitzone anzeigt.
Grenzfälle und Feldgrenzen
Das 5-Feld-Format hat Grenzen, die leicht vergessen werden. Sie zu verstehen verhindert stille Fehler.
Wechselwirkung zwischen Tag-des-Monats und Wochentag
Wenn in Standard-Cron sowohl der Tag des Monats (Feld 3) als auch der Wochentag (Feld 5) auf Nicht-Platzhalter-Werte gesetzt sind, behandeln die meisten Implementierungen sie als Vereinigung: Der Job wird ausgeführt, wenn eine der beiden Bedingungen zutrifft. Das bedeutet, 0 9 15 * 1 bedeutet nicht „den 15., wenn er ein Montag ist". Es bedeutet „jeden 15. des Monats und jeden Montag". Dies ist eine der am häufigsten berichteten Überraschungen bei Cron.
Monats- und Wochentaggrenzen
Wenn Tag-des-Monats auf 31 gesetzt wird, bedeutet das, dass der Job nur in Monaten mit 31 Tagen ausgeführt wird (Januar, März, Mai, Juli, August, Oktober, Dezember). Kürzere Monate werden stillschweigend übersprungen. Ebenso stehen die Wochentagwerte 0 und 7 beide für Sonntag, aber ihre Vermischung im selben Ausdruck kann bei Code-Reviews Verwirrung stiften.
Zeitzonenabhängigkeit
Ein Cron-Ausdruck enthält von sich aus keine Zeitzoneninformation. Der Scheduler interpretiert Zeiten in der Zeitzone, die er verwendet, sei es UTC, die lokale Zeit des Servers oder eine explizite Überschreibung. Wenn Ihr Team mehrere Zeitzonen umfasst, bestätigen Sie immer die Zeitzoneneinstellung des Schedulers vor der Bereitstellung. Cronwise ermöglicht die Auswahl jeder IANA-Zeitzone und zeigt Ausführungen entsprechend an.
Wissen im Cronwise-Workflow anwenden
Sobald Sie die fünf Felder verstehen, besteht der nächste Schritt darin, vom Lesen von Cron-Ausdrücken zum sicheren Erstellen überzugehen. Cronwise bietet dafür zwei sich ergänzende Wege.
Zuerst erklären, dann generieren
Beginnen Sie mit dem Cron-Erklärer, um einen bestehenden Ausdruck zu überprüfen. Fügen Sie ihn ein, lesen Sie die verständliche Zusammenfassung und prüfen Sie die Tabelle der nächsten Ausführungen. Wenn der Zeitplan nicht Ihrer Absicht entspricht, wechseln Sie zum Cron-Generator, um den korrekten Ausdruck visuell Feld für Feld zu erstellen. Der Generator beseitigt Syntaxrätselraten, indem Sie Werte aus Dropdowns und Tabs auswählen können.
Verifizierungscheckliste vor der Bereitstellung
| Prüfung | Warum es wichtig ist | Bestehkriterium |
|---|---|---|
| Verständliche Zusammenfassung stimmt mit Absicht überein | Erkennt Feldreihenfolge-Fehler | Zusammenfassungssatz stimmt mit Ihrem Planungsziel überein |
| Zeitstempel der nächsten Ausführungen sind korrekt | Erkennt Token-Fehlanwendungen (Bereiche, Schritte) | Die ersten 5 Ausführungen entsprechen den erwarteten Daten und Zeiten |
| Zeitzone stimmt mit Zielumgebung überein | Verhindert Ausführung mit Stundenversatz | Ausgewählte Zeitzone entspricht der konfigurierten Zeitzone des Schedulers |
| Keine Validierungswarnungen | Erkennt riskante Muster frühzeitig | Keine Warnungen oder jede Warnung bewusst akzeptiert |
Für eine vollständige Anleitung zum visuellen Builder lesen Sie Visueller Cron-Generator: Schritt-für-Schritt-Workflow, der Tab-Navigation, gespeicherte Vorlagen und Exportoptionen behandelt.
Fazit: Mit Zuversicht bereitstellen
Das 5-Feld-Cron-Format ist trügerisch einfach: Minute, Stunde, Tag des Monats, Monat und Wochentag. Es zu beherrschen bedeutet, nicht nur die Feldpositionen zu kennen, sondern auch zu verstehen, wie Token sich kombinieren, wo Grenzfälle lauern und warum eine 10-Sekunden-Validierungsprüfung jedes Mal den Aufwand wert ist.
Hier sind die wichtigsten Regeln zum Mitnehmen:
- Lesen Sie Felder von links nach rechts: Minute, Stunde, Tag, Monat, Wochentag.
- Ein Sternchen bedeutet „jede/r/s" — es ist kein Platzhalter oder Standardwert.
- Bereiche, Listen und Schritte können kombiniert werden, aber jedes Feld wird unabhängig ausgewertet.
- Tag-des-Monats und Wochentag bilden eine Vereinigung, wenn beide keine Platzhalter sind — keine Schnittmenge.
- Überprüfen Sie immer die Zeitzone des Schedulers und schauen Sie sich die nächsten Ausführungen vor der Bereitstellung an.
Cronwise ist darauf ausgelegt, diese Überprüfung schnell zu machen. Fügen Sie einen Ausdruck ein, lesen Sie die Erklärung, prüfen Sie die Ausführungen und stellen Sie mit Zuversicht bereit. Alle Cron-Artikel durchsuchen auf Cronwise, um weiter zu lernen, oder springen Sie direkt ins Tool.