Cron-Ausdrucksgenerator:
wann läuft er wirklich?
Wählen Sie Häufigkeit und Uhrzeit. Der Generator schreibt den Ausdruck mit fünf Feldern, liest ihn in natürlicher Sprache zurück und listet die nächsten zehn Termine auf — so prüfen Sie den Zeitplan, bevor er in einer Crontab landet, und nicht erst nach dem 03:30-Lauf.
So liest man 30 3 * * 1-5
Jeder Cron-Ausdruck beantwortet dieselben fünf Fragen, von links nach rechts — hier an einem echten Zeitplan.
Als Satz gelesen: Montag bis Freitag, um 03:30. 30 3 * * 1-5
Den Zeitplan sehen, bevor Cron ihn ausführt
Die meisten Cron-Ausdrücke werden erstmals vom 03:30-Lauf in der Produktion getestet. Dieser Generator verlegt diesen Test in Ihren Browser:
- Strukturierte Fragen statt Raten. Häufigkeit, Tag, Uhrzeit — jede Mehrdeutigkeit der Beschreibung in natürlicher Sprache wird zu einem eigenen Bedienelement.
- Die nächsten zehn Läufe, berechnet. Ein echter Parser geht den Kalender durch, damit Sie den Zeitplan als Termine lesen und nicht als Syntax.
- Portable POSIX-Ausgabe. Fünf Felder, nur Zahlen — läuft auf jeder Crontab, von Alpine bis AIX. Die exotischen Symbole werden markiert, nicht erzeugt.
Ein Cron-Ausdruck, Feld für Feld
*/15 9-17 * * 1-5Was *, */5 und @daily bedeuten
Fünf funktionieren in jeder Crontab. Das sechste gibt es nur in Quartz und lässt sich nicht installieren.
Passt auf alles — die Voreinstellung und das lauteste Zeichen. Im Minutenfeld bedeutet es sechzig Läufe pro Stunde, und genau dort beginnt das Ticket „Warum lief das 60-mal?“.
Ein Schrittwert — jeder 5. Wert. Schrittwerte greifen nicht über Feldgrenzen hinweg: */90 im Minutenfeld wird stillschweigend zu „um :00“ — ein 90-Minuten-Takt braucht zwei Zeilen.
Ein Bereich — Mo–Fr im Wochentagsfeld, 9–17 im Stundenfeld. Mit einer Liste kombinierbar: 1-5,0 ist werktags plus Sonntag.
Eine Liste — genaue Werte, durch Komma getrennt. Der portable Weg für „zweimal pro Stunde“ oder „Januar, April, Juli, Oktober“.
Kurznamen — @hourly @daily @weekly @reboot. Praktisch, wo es unterstützt wird, aber @reboot läuft, wenn der Cron-Daemon startet, und das ist nicht immer ein Systemstart.
Kein Cron. # L W ? gehören zu Quartz — Jenkins, Spring, einige CI-Werkzeuge. In eine Crontab eingefügt, wird die Zeile nicht installiert.
Fertige Cron-Zeitpläne
Jeder davon ist gültiges POSIX. Für Sonderfälle wie „jeden 2. März um 17:30“ gibt es unsere Cron-Beispielsammlung.
Häufige Cron-Fallen
Beide live im Browser berechnet — ohne Umweg über den Server.
Häufige Fragen zu Cron-Ausdrücken
Er verwandelt einen Zeitplan, den Sie aussprechen können — etwa „jeden Werktag um neun“ — in den Ausdruck mit fünf Feldern, den Cron liest: 0 9 * * 1-5. Dieser hier geht weiter: Er liest den Ausdruck in natürlicher Sprache zurück und berechnet die nächsten zehn Laufzeiten, sodass Sie den Zeitplan als Termine prüfen. Außerdem markiert er die beiden Klassiker: die ODER-Regel der Tagesfelder und den Stern anstelle der Null.
Von links nach rechts: Minute (0–59), Stunde (0–23), Tag des Monats (1–31), Monat (1–12), Wochentag (0–7, wobei sowohl 0 als auch 7 Sonntag bedeuten). Jedes Feld nimmt eine Zahl, eine Liste (0,30), einen Bereich (1-5), einen Schrittwert (*/15) oder * für „beliebig“. Manche Scheduler ergänzen ein sechstes Feld für Sekunden (Quartz, Spring) — eine Crontab akzeptiert es nicht.
Nicht in einer Zeile — Schrittwerte tragen keine Reste über Feldgrenzen, deshalb bedeutet */90 im Minutenfeld nur „um :00“. Die Antwort sind zwei Crontab-Zeilen, die ineinandergreifen: 0 0-21/3 * * * (00:00, 03:00, 06:00…) plus 30 1-22/3 * * * (01:30, 04:30, 07:30…) — zusammen alle 90 Minuten. Derselbe Kniff deckt jeden Takt ab, der 60 nicht glatt teilt.
Weil im Minutenfeld ein * stand. * 3 * * * bedeutet „jede Minute, in der die Stunde 3 ist“ — 03:00 bis 03:59, also sechzig Läufe. Gemeint war 0 3 * * *. Das ist der klassische Cron-Fehler und der Grund, warum dieses Werkzeug immer eine explizite Minute schreibt, sofern Sie nicht ausdrücklich „jede Minute“ wählen.
Cron läuft, sobald eines von beiden passt — Vereinigung, nicht Schnittmenge. So steht es in der POSIX-Spezifikation, und es erwischt viele. Nehmen Sie 0 9 1-7 * 1, den naheliegenden Versuch für „der erste Montag im Monat“. Er läuft an Tag 1–7 und an jedem Montag: 10 oder 11 Vormittage im Monat statt einem. Die Fallenansicht auf dieser Seite berechnet beide Lesarten nebeneinander und zeigt die portable Lösung.
Die lokale Zeit des Servers — Cron hat kein Zeitzonenfeld. Läuft die Maschine auf UTC (die meisten Cloud-Images tun das), sind 09:00 in der Crontab 09:00 UTC. Manche Crons (cronie auf RHEL/Fedora, FreeBSD) werten eine CRON_TZ=-Zeile aus, das klassische Debian-vixie-cron nicht. Und denken Sie an die Zeitumstellung, wenn der Server in einer lokalen Zone läuft: In Umstellungsnächten kann es 02:30 zweimal geben — oder gar nicht. Wer außerhalb von 01:00–03:00 plant oder seine Server auf UTC lässt, umgeht das komplett.
Cron protokolliert, dass es den Job gestartet hat; von sich aus sagt Ihnen nichts, dass er auch geglückt ist. Drei Ebenen: die Ausgabe in ein Log umleiten (>> /var/log/job.log 2>&1), MAILTO= auf eine Adresse setzen, die jemand liest, und dann eine unabhängige Prüfung auf das Ergebnis legen. Die dritte Ebene funktioniert überall dort, wo das Ergebnis von außen sichtbar ist: eine neu erzeugte Seite, ein erneuertes Zertifikat, eine Sitemap. Die Ansicht zu den stillen Fehlern auf dieser Seite geht den ganzen Fehlermodus durch.
Weiter erkunden
Gratis-Tools sind erst der Anfang.
Uptimia hält Ihre Websites am Laufen.
Verfügbarkeit, SSL, Domain-Ablauf, Ladezeit, Transaktionen – aus 171+ Standorten weltweit überwacht. 30 Tage kostenlos.