Cron-Ausdruck-Generator
Cron-Ausdruck Feld für Feld erstellen, erklären lassen, die nächsten Ausführungen in jeder Zeitzone sehen und nach systemd, Quartz oder AWS umwandeln.
In Worten
Tag des Monats und Wochentag sind beide gesetzt: Klassisches Cron läuft, wenn EINES von beiden zutrifft (nicht beide).
Baukasten
| Feld | Modus | Wert |
|---|---|---|
| Sekunde0–59 | ||
| Minute0–59 | ||
| Stunde0–23 | ||
| Tag des Monats1–31, L | ||
| Monat1–12 oder JAN–DEC | ||
| Wochentag0–7 (0 und 7 = Sonntag) oder SUN–SAT |
Nächste Ausführungen
Andere Formate
- crontab-Zeile
- systemd OnCalendar=
- Quartz / Spring
- AWS EventBridge
So erstellen Sie einen Cron-Ausdruck
- Tippen oder fügen Sie einen Ausdruck in Cron-Ausdruck ein oder wählen Sie einen aus den Vorlagen. Makros wie
@dailyoder@weeklywerden ebenfalls akzeptiert. - Oder nutzen Sie den Baukasten: Wählen Sie für jedes Feld einen Modus (Jede(r), Alle N, Bestimmte Werte, Bereich oder Eigener Wert) und tragen Sie den Wert ein. Der Ausdruck wird laufend aktualisiert, und wenn Sie den Ausdruck bearbeiten, passt sich der Baukasten an.
- Aktivieren Sie Sekundenfeld hinzufügen (6 Felder), wenn Ihr Scheduler Sekunden unterstützt.
- Lesen Sie den Zeitplan unter In Worten und prüfen Sie die Liste Nächste Ausführungen. Wählen Sie die Zeitzone des Servers, auf dem der Job läuft, und die Anzahl der anzuzeigenden Ausführungen.
- Kopieren Sie den Ausdruck mit Kopieren oder nutzen Sie eines der Andere Formate.
Fehler werden Feld für Feld erklärt, zum Beispiel „Minute: 61 liegt außerhalb des Bereichs (0–59)“, damit Sie genau wissen, was zu korrigieren ist.
Die Beschreibung des Zeitplans unter In Worten erscheint auf Deutsch, die Daten der nächsten Ausführungen im deutschen Format.
Die fünf Cron-Felder
Eine Standard-Cron-Zeile (Vixie Cron) besteht aus fünf Feldern, gefolgt vom Befehl:
| Feld | Erlaubte Werte |
|---|---|
| Minute | 0–59 |
| Stunde | 0–23 |
| Tag des Monats | 1–31 |
| Monat | 1–12 oder JAN–DEC |
| Wochentag | 0–7 (0 und 7 sind Sonntag) oder SUN–SAT |
Jedes Feld akzeptiert * (jeder Wert), eine Liste 1,15, einen Bereich 9-17, eine Schrittweite */15 (alle 15 Einheiten) oder einen Bereich mit Schrittweite 0-30/10. */15 9-17 * * 1-5 bedeutet also: alle 15 Minuten von 9:00 bis 17:45, Montag bis Freitag.
Eine Regel überrascht viele: Sind sowohl Tag des Monats als auch Wochentag eingeschränkt, läuft klassisches Cron, wenn eines von beiden zutrifft. 0 0 13 * 5 läuft an jedem 13. und an jedem Freitag, nicht nur an Freitag, dem 13. Das Tool zeigt in diesem Fall eine Warnung an.
Nächste Ausführungen und Zeitzonen
Cron richtet sich nach der Uhr des Rechners oder nach der Einstellung CRON_TZ/TZ der Crontab. Die Liste Nächste Ausführungen wird für die gewählte Zeitzone berechnet, einschließlich der Umstellung auf Sommer- und Winterzeit: Bei der Umstellung im Frühjahr kann ein Job um 2:30 ausfallen, im Herbst läuft er je nach Implementierung einmal oder zweimal. Für Jobs, die garantiert genau einmal laufen sollen, wählen Sie besser Zeiten außerhalb von 1:00–3:00 oder verwenden UTC.
Vixie Cron, systemd-Timer, Quartz und AWS
- systemd-Timer verwenden
OnCalendar=mit einer anderen Syntax:Mon..Fri *-*-* 09..17:00/15:00. Wochentags- und Datumsbedingungen werden mit UND verknüpft, nicht mit ODER, daher haben manche Cron-Ausdrücke keine exakte Entsprechung. - Quartz und Spring stellen ein Sekundenfeld an den Anfang und können ein Jahresfeld anhängen. Eines der beiden Tagesfelder muss
?sein, und Quartz nummeriert die Wochentage 1–7 ab Sonntag, anders als Cron mit 0–6. Das Tool schreibt Wochentage deshalb als Namen (MON-FRI), um diese Falle zu umgehen. - AWS EventBridge verwendet
cron(Minuten Stunden Tag Monat Wochentag Jahr): sechs Felder, keine Sekunden, ein?in einem der Tagesfelder und das Jahr am Ende.
Standard-Cron kennt kein Sekundenfeld. Die 6-Felder-Form mit Sekunden unterstützen viele Bibliotheken (node-cron, Spring, Quartz), die System-Crontab jedoch nicht.
Häufige Fragen
Wie lasse ich einen Job alle 5 Minuten laufen?
Mit */5 * * * *. Der Job läuft zu den Minuten 0, 5, 10 … jeder Stunde.
Wie lasse ich einen Job am letzten Tag des Monats laufen?
Viele Scheduler akzeptieren L im Feld Tag des Monats: 0 18 L * *. Mit reinem Vixie Cron lassen Sie den Job täglich an den Tagen 28–31 laufen und prüfen im Skript, ob morgen der Erste ist.
Was macht @reboot?
Es führt den Befehl einmal aus, wenn der Cron-Daemon startet. Da es keinen Zeitplan gibt, kann das Tool keine Ausführungszeiten dafür anzeigen.
Warum läuft mein Job nicht zur angezeigten Zeit?
Prüfen Sie die Zeitzone des Servers, ob Sie die Crontab des Benutzers oder /etc/crontab verwenden (dort gibt es ein zusätzliches Benutzerfeld), und den PATH: Cron startet mit einer minimalen Umgebung.
Ist 0 oder 7 der Sonntag?
Beides. Im Feld Wochentag bedeuten 0 und 7 Sonntag, 1 ist Montag und 6 ist Samstag.
Ist die Beschreibung „In Worten“ auf Deutsch?
Ja, die Klartextbeschreibung des Zeitplans wird auf Deutsch erzeugt, zum Beispiel „Um 09:30, Montag bis Freitag“. Auch die Fehlermeldungen und die Liste der nächsten Ausführungen sind auf Deutsch.
Ähnliche Tools
- Unix-Timestamp-Umrechner Unix-Timestamps in Sekunden oder Millisekunden in lesbare Daten umrechnen – Ortszeit, UTC und ISO 8601 – und jedes Datum zurück in Epoch-Zeit verwandeln.
- Zeitzonenrechner Rechnen Sie eine Uhrzeit in beliebig viele Zeitzonen um – mit UTC-Versatz, Sommerzeit und Hinweis auf Vortag oder Folgetag, basierend auf der IANA-Datenbank.
- Chmod-Rechner Unix-Dateirechte zwischen Kästchen, oktal (755) und symbolisch (rwxr-xr-x) umrechnen – mit Setuid, Setgid, Sticky-Bit und fertigen chmod-Befehlen.