Cron-Ausdruck-Generator
Cron-Zeitpläne erstellen und in Klartext erklären, mit den nächsten Ausführungszeiten. Alles läuft lokal — nichts wird hochgeladen.
- Eingang
- Cron expression · schedule picker
- Ausgang
- Plain-language schedule · next run times
* jeder · , Liste · - Bereich · / Schritt · Namen JAN–DEC und SUN–SAT · 7 ist auch Sonntag
Nächste 10 Ausführungen
Durch die Sommerzeit übersprungene Zeiten laufen direkt nach der Umstellung; doppelte Zeiten laufen einmal, außer bei Platzhalter-Stunden.
Standard-Crontab-Syntax. Quartz und AWS EventBridge verwenden andere Felder (Sekunden, Jahre, ? und 1 = Sonntag).
Eher Text als Zeiten abgleichen? Regex Tester öffnen
Cron-Ausdrücke erstellen und erklären
Dieser Cron-Generator verwandelt einen Zeitplan in Crontab-Syntax und wieder zurück. Tippen oder fügen Sie einen Ausdruck ein, um ihn als Klartext zu lesen, oder bauen Sie ihn Feld für Feld mit den Bedienelementen auf, und prüfen Sie die nächsten zehn Ausführungszeiten in jeder Zeitzone, unter Berücksichtigung der Sommerzeitumstellung. Er folgt den Regeln von cron auf jedem Linux-Server, auch denen, über die viele stolpern, und alles wird in Ihrem Browser berechnet.
So schreiben Sie einen Cron-Ausdruck
- Beginnen Sie mit einer Vorlage wie Werktags um 9:00 oder tippen Sie einen Ausdruck wie
*/15 9-17 * * 1-5. - Lesen Sie den Satz unter der Eingabe, um zu bestätigen, dass der Zeitplan bedeutet, was Sie meinen.
- Passen Sie im Baukasten ein Feld an: Wählen Sie Minute, Stunde, Tag des Monats, Monat oder Wochentag, dann Jede, Alle N, Bestimmte Werte oder einen Bereich. Der Ausdruck aktualisiert sich beim Klicken.
- Wählen Sie die Zeitzone, die Ihr Server oder Scheduler verwendet, prüfen Sie die nächsten Ausführungen und kopieren Sie den Ausdruck dann in Ihre Crontab, Ihren CI-Workflow oder Ihren Job-Scheduler.
Cron-Syntax: die fünf Felder
Eine Standard-Crontab-Zeile hat fünf durch Leerzeichen getrennte Felder, gefolgt vom Befehl: minute hour day-of-month month day-of-week. Manche Scheduler wie node-cron und Spring akzeptieren vorne ein optionales sechstes Feld für Sekunden; dieses Tool liest beide Formen.
- Minute
- 0–59
- Stunde
- 0–23, im 24-Stunden-Format
- Tag des Monats
- 1–31
- Monat
- 1–12 oder JAN–DEC
- Wochentag
- 0–6 oder SUN–SAT, wobei 0 Sonntag ist und auch 7 als Sonntag akzeptiert wird
- Sekunden (optional)
- 0–59, als sechstes Feld vor der Minute
Sonderzeichen und Kurzformen
*bedeutet jeden Wert:* * * * *läuft jede Minute.,listet Werte auf:0 8,12,18 * * *läuft um 08:00, 12:00 und 18:00.-ist ein Bereich:0 9 * * 1-5läuft um 09:00 von Montag bis Freitag./ist eine Schrittweite:*/5 * * * *ist alle fünf Minuten, und1-10/2bedeutet 1, 3, 5, 7 und 9.- Kurzformen:
@hourly,@daily(oder@midnight),@weekly,@monthlyund@yearly(oder@annually).@rebootläuft einmal beim Start des Cron-Daemons und hat daher keine nächste Ausführungszeit.
Die Falle mit Tag des Monats und Wochentag
Sind beide Tagesfelder eingeschränkt, führt cron den Job aus, wenn eines von beiden passt, nicht wenn beide passen. 0 0 13 * 5 läuft daher am 13. jedes Monats und an jedem Freitag, nicht nur an Freitag, dem 13. Beginnt eines der Felder mit *, werden beide wie erwartet mit UND verknüpft. Erklärung und Ausführungszeiten hier folgen genau dieser Regel.
Tage, die es in einem Monat nicht gibt, werden einfach übersprungen: 0 0 31 * * läuft nur in Monaten mit 31 Tagen, und 0 0 29 2 * nur in Schaltjahren. Um mit reinem cron am letzten Tag jedes Monats auszuführen, planen Sie die Tage 28–31 ein und prüfen das Datum im Befehl.
Beispiele für Cron-Zeitpläne
Fügen Sie einen davon in den Generator ein, um ihn als Satz zu lesen und genau zu sehen, wann er als Nächstes auslöst. Ein Zeitplan, der im Kopf richtig aussieht, verdient einen Abgleich mit echten Daten, bevor er in Produktion geht – besonders einer, der monatlich oder jährlich läuft und einen Fehler erst nach Wochen verraten würde.
- */10 * * * *
- Alle 10 Minuten: zur vollen Stunde sowie um 10, 20, 30, 40 und 50 nach.
- 0 */6 * * *
- Alle sechs Stunden: um 00:00, 06:00, 12:00 und 18:00.
- 30 2 * * *
- Jede Nacht um 02:30, ein üblicher Zeitpunkt für Backups (beachten Sie aber den Hinweis zur Sommerzeit unten).
- 0 9 * * MON-FRI
- Werktags um 09:00.
- 0 0 1 * *
- Um Mitternacht am ersten Tag jedes Monats, dasselbe wie @monthly.
- 0 0 1 1,4,7,10 *
- Um Mitternacht zu Beginn jedes Quartals.
- */30 * * * * *
- Alle 30 Sekunden, im sechsfeldrigen Format mit Sekunden.
Zeitzonen und Sommerzeit
Cron verwendet die Uhr der Maschine, auf der es läuft, und das ist auf den meisten Servern UTC. Wählen Sie diese Zone in der Liste der nächsten Ausführungen, um zu sehen, was Ihr Job tatsächlich tun wird. Bei der Zeitumstellung läuft eine Zeit, die beim Vorstellen der Uhr übersprungen wird, direkt nach der Umstellung (aus 02:30 wird 03:30), und eine Zeit, die beim Zurückstellen doppelt vorkommt, läuft einmal; Jobs mit Platzhalter im Stundenfeld laufen in beiden Durchgängen der wiederholten Stunde weiter, wie bei Vixie cron.
Andere Scheduler verwenden andere Dialekte. Quartz (Java) und AWS EventBridge verwenden sechs oder sieben Felder mit Sekunden und Jahren, verlangen ? in einem der beiden Tagesfelder und zählen die Wochentage ab 1 für Sonntag; GitHub Actions und Kubernetes CronJobs verwenden die üblichen fünf Felder in UTC. Prüfen Sie vor dem Einfügen, welches Format Ihre Plattform erwartet.
Testen Sie eher ein Muster als einen Zeitplan? Probieren Sie den Regex Tester.
Häufige Fragen
- Was bedeutet * * * * * in cron?
- Fünf Sternchen bedeuten jede Minute jeder Stunde an jedem Tag. Das ist der häufigste Zeitplan, den Standard-cron erlaubt; alles Häufigere braucht einen Scheduler mit Sekundenfeld.
- Wie führe ich einen Cronjob alle 5 Minuten aus?
- Verwenden Sie */5 * * * *. Die Schrittweite */5 im Minutenfeld trifft die Minuten 0, 5, 10 und so weiter bis 55.
- Wie führe ich einen Cronjob jeden Tag um Mitternacht aus?
- Verwenden Sie 0 0 * * * oder die Kurzform @daily (auch @midnight geschrieben). Denken Sie daran, dass Mitternacht in der Zeitzone des Servers gilt, auf dem cron läuft, oft UTC.
- Wie plane ich einen Cronjob nur an Werktagen?
- Tragen Sie 1-5 in das Wochentagsfeld ein, zum Beispiel 0 9 * * 1-5 für 09:00 von Montag bis Freitag. MON-FRI funktioniert ebenfalls.
- Ist Sonntag in cron 0 oder 7?
- Beides. Standard-cron akzeptiert 0 und 7 für Sonntag sowie die Namen SUN bis SAT. Quartz und AWS sind anders: Sie nummerieren die Tage von 1 bis 7, beginnend mit Sonntag.
- Warum läuft mein Cronjob an mehr Tagen als erwartet?
- Wenn Sie sowohl den Tag des Monats als auch den Wochentag festlegen, läuft cron, sobald einer von beiden passt. Setzen Sie eines der beiden Felder auf *, um nur das andere zu verlangen.
- Welche Zeitzone verwendet cron?
- Die Systemzeitzone der Maschine, sofern die Crontab nicht CRON_TZ setzt oder der Scheduler eine eigene Einstellung hat. Cloud-Scheduler wie GitHub Actions verwenden UTC.
- Unterstützt cron Sekunden?
- Die Standard-Crontab nicht; ihre kleinste Einheit ist die Minute. Bibliotheken wie node-cron, Spring und Quartz akzeptieren vorne ein zusätzliches Sekundenfeld, das auch dieses Tool versteht.