Cron-Generator — Cron-Ausdrücke erstellen & erklären
Erstelle einen Cron-Zeitplan per Dropdown oder füge einen ein, lies ihn in Klartext und sieh die nächsten 10 Ausführungen in deiner Zeitzone und in UTC. Kostenlos, im Browser.
Minute · Stunde · Tag des Monats · Monat · Wochentag. Namen (JAN, MON), Makros wie @daily und eine komplett eingefügte Crontab-Zeile werden akzeptiert.
Verwendet einen Bereich oder Schritt (1-5); bearbeite ihn im Ausdrucksfeld oder wähle unten Werte, um ihn zu ersetzen.
…
Cron liest den Zeitplan in der Zeitzone des Rechners, auf dem es läuft. Wähle „UTC“ für GitHub Actions, Vercel, die meisten CI-Runner und Cloud-Scheduler; beide Spalten zeigen dieselben Zeitpunkte.
Füge die Ausgabe von crontab -l ein. Kommentare und Zeilen der Form VAR=wert werden übersprungen.
| Läuft jede 5. Minute. /usr/local/bin/healthcheck.sh | |
| Um 02:30. /usr/local/bin/backup.sh --full | |
| Um 09:00, jeden Wochentag von Montag bis Freitag. php /var/www/artisan reports:send | |
| Um 00:00, Sonntag. certbot renew --quiet |
| Alle 10 Minuten eine API oder Queue abfragen | |
| Alle 6 Stunden (00:00, 06:00, 12:00, 18:00) | |
| Nächtliches Backup um 02:30 | |
| Stündlich während der Bürozeiten, werktags | |
| Alle 30 Minuten während der Bürozeiten | |
| Wöchentlich, sonntags um Mitternacht (wie @weekly) | |
| Zweimal im Monat: am 1. und 15. um 08:00 | |
| Letzte Tage des Monats (im Skript prüfen, ob morgen der 1. ist) | |
| Wartungsfenster samstags um 03:00 | |
| Vierteljährlich, 04:15 am 1. Jan., Apr., Jul., Okt. | |
| Freitag ODER der 13. (die ODER-Regel in Aktion) | |
| Makro: einmal täglich um Mitternacht |
Läuft komplett in deinem Browser. Nichts, was du eingibst, wird an uns gesendet oder gespeichert. Alle kostenlosen Tools ansehen.
Ein Problem gefunden oder etwas, das besser sein könnte? Wir lesen jede Nachricht und beheben Fehler schnell.
Dieser kostenlose Cron-Generator erstellt einen fünfteiligen Cron-Zeitplan per Dropdown und übersetzt jeden Ausdruck zurück in Klartext, mit den nächsten zehn Ausführungen in deiner Zeitzone und in UTC. Füge einen Ausdruck, eine Crontab-Zeile oder eine ganze Crontab ein, und jeder Zeitplan wird erklärt. Er versteht die Standardsyntax, die crontab, GitHub Actions, Kubernetes CronJob, Vercel cron und die meisten Scheduler gemeinsam haben: Sternchen, Listen, Bereiche, Schritte, Monats- und Wochentagsnamen und Makros wie @daily.
Die Cron-Syntax ist kompakt und gnadenlos: „0 0 1 * *“ und „0 0 * * 1“ sehen ähnlich aus, bedeuten aber den Ersten jedes Monats bzw. jeden Montag. Den Zeitplan in Worten und als konkrete Daten zu sehen, macht den Unterschied zwischen einem Job, der werktags um 9:00 läuft, und einem, der sonntags um 09:00 UTC läuft – genau diesen Fehler soll diese Seite verhindern. Der Rechner folgt Vixie cron exakt, einschließlich der Eigenheit, dass ein Tagesfeld, das mit einem Sternchen beginnt, die Verknüpfung der beiden Tagesfelder ändert. Quartz-Syntax (ein Sekundenfeld, L, W, #) akzeptiert er nicht und sagt das auch, wenn du sie einfügst.
So funktioniert’s
- Starte mit einer Vorlage oder einem Beispiel oder tippe bzw. füge einen Ausdruck ein (eine vollständige Crontab-Zeile wird auf ihren Zeitplan gekürzt). Beschreibung und nächste Ausführungen aktualisieren sich beim Bearbeiten.
- Lege mit den fünf Feld-Editoren Minute, Stunde, Tag des Monats, Monat und Wochentag fest: jede, alle N oder bestimmte Werte.
- Prüfe die nächsten zehn Ausführungen. Wähle „UTC“, wenn der Job auf einem Server oder CI-Runner läuft, die fast immer UTC verwenden; jede Ausführung wird in deiner Zone und in UTC angezeigt.
- Um einen bestehenden Server zu prüfen, füge die Ausgabe von crontab -l in „Ganze Crontab erklären“ ein.
- Kopiere den Ausdruck oder eine vollständige Crontab-Zeile mit der Beschreibung als Kommentar.
- Füge ihn in crontab -e, einen schedule:-Block in GitHub Actions, eine Kubernetes-CronJob-Spezifikation oder die Cron-Einstellungen deiner Plattform ein.
Häufige Fragen
Was bedeuten die fünf Felder?
Der Reihe nach: Minute (0–59), Stunde (0–23), Tag des Monats (1–31), Monat (1–12 oder JAN–DEC), Wochentag (0–7 oder SUN–SAT, wobei 0 und 7 beide Sonntag sind). Ein Sternchen bedeutet jeden Wert; 1-5 ist ein Bereich; 1,15 ist eine Liste; */10 bedeutet jeden zehnten Wert.
Was passiert, wenn Tag des Monats und Wochentag beide gesetzt sind?
Standard-cron (Vixie) führt den Job aus, wenn eines von beiden passt, nicht beide. „0 0 13 * FRI“ läuft am 13. jedes Monats und an jedem Freitag, nicht nur an Freitag, dem 13. Diese Seite folgt dieser Regel. Eine Feinheit: Beginnt eines der Tagesfelder mit einem Sternchen (zum Beispiel */2), behandelt Vixie cron es als uneingeschränkt und verlangt, dass beide passen – „0 0 */2 * 1“ bedeutet also ungerade Tage, die Montage sind. Quartz macht es anders und markiert das ungenutzte Feld mit einem ?.
Welche Zeitzone verwendet cron?
Die Zone des Rechners oder Dienstes, der ihn ausführt. Eigene Server verwenden meist Ortszeit; Cloud-Runner, GitHub Actions, Vercel und die meisten Kubernetes-Cluster verwenden UTC. Ein Job, der auf einem UTC-Runner für 9:00 eingestellt ist, läuft in Toronto im Sommer um 5:00 und im Winter um 4:00. Die Tabelle der Ausführungen zeigt jede Zeit in deiner Zone und in UTC, sodass die Verschiebung sichtbar ist.
Unterstützt er Sekunden oder die Erweiterungen L, W und #?
Nein. Sechsteilige Syntax (mit Sekunden) und die Erweiterungen L (letzter), W (Werktag) und # (n-ter Wochentag) gehören zu Quartz und einigen Enterprise-Schedulern, nicht zu Standard-cron, und die meisten Plattformen lehnen sie ab. Wenn du „letzter Freitag im Monat“ brauchst, ist der portable Weg ein Job, der jeden Freitag läuft und das Datum selbst prüft.
Warum läuft mein Job nie?
Häufige Ursachen: Der Zeitplan ist gültig, aber unmöglich (31. April, 30. Februar); der Server läuft in einer anderen Zeitzone als angenommen; die Crontab-Zeile hat keinen Befehl, oder der PATH des Befehls unterscheidet sich von dem deiner Shell; oder das Intervall ist kürzer als die Laufzeit des Jobs, und die Instanzen stauen sich. Die Liste der nächsten Ausführungen hier fängt die ersten beiden ab.
Cron-Syntax im Überblick
• * jeder Wert · 5 genau 5 · 1-5 Bereich · 1,3,5 Liste · */15 jeder 15. Wert · 1-30/5 jeder 5. Wert von 1 bis 30
• Namen: JAN–DEC für Monate, SUN–SAT für Wochentage (Groß-/Kleinschreibung egal); Bereiche aus Namen funktionieren (MON-FRI).
• @hourly (0 * * * *), @daily oder @midnight (0 0 * * *), @weekly (0 0 * * 0), @monthly (0 0 1 * *), @yearly oder @annually (0 0 1 1 *); @reboot läuft einmal beim Systemstart. Crontab akzeptiert diese, aber nicht jede Plattform; die fünfteilige Form ist die portable.
• Wochentag 0 und 7 sind beide Sonntag. Bereiche laufen nicht über: FRI-MON ist ein Fehler; schreibe FRI-SAT,SUN-MON oder 5,6,0,1.
• Felder werden durch Leerraum getrennt; in einer Crontab folgt der Befehl in derselben Zeile.
Wo Cron-Zeitpläne hingehören
Linux und macOS: crontab -e, ein Job pro Zeile, erst der Ausdruck, dann der Befehl. GitHub Actions: on: schedule: - cron: '0 9 * * 1-5', immer UTC, und zu Stoßzeiten können sich Ausführungen um mehrere Minuten verzögern. Kubernetes: das Feld schedule eines CronJob. Vercel: crons in vercel.json mit path und schedule, UTC. Cloud-Scheduler (AWS EventBridge, Google Cloud Scheduler) akzeptieren dieselbe Syntax mit kleinen Dialektunterschieden, und EventBridge ergänzt ein Jahresfeld.
Wie die nächsten Ausführungen berechnet werden
Der Rechner geht ab jetzt Kalendertag für Kalendertag vorwärts. Für jeden Tag prüft er den Monat, dann die Felder Tag des Monats und Wochentag nach der Vixie-Regel (ODER, wenn beide eingeschränkt sind, UND, wenn eines mit * beginnt), und erst dann listet er die passenden Stunden und Minuten auf. Ausführungen, die nicht strikt nach der aktuellen Minute liegen, werden übersprungen – ein Job, der genau in dieser Minute fällig ist, wird also bei seinem nächsten Auftreten angezeigt.
In deiner eigenen Zeitzone spielt die Sommerzeit eine Rolle. Eine Uhrzeit, die es am Tag der Zeitumstellung im Frühjahr nicht gibt (02:30 in den meisten Teilen Nordamerikas), wird übersprungen, und eine Uhrzeit, die bei der Umstellung im Herbst zweimal vorkommt, läuft einmal. So behandelt cronie Jobs mit fester Uhrzeit; andere Daemons können sich anders verhalten – ein Grund mehr, warum Server cron meist in UTC laufen lassen.
Ein Zeitplan mit einem unmöglichen Datum (30. Februar, 31. April) löst nie aus, und die Seite sagt das. Ein Zeitplan für den 29. Februar löst nur in Schaltjahren aus; die Suche reicht neun Jahre in die Zukunft, genug für jeden realen Zeitplan.
Ähnliche kostenlose Tools
- Regex-Tester — Teste einen regulären Ausdruck an Beispieltext mit Live-Hervorhebung der Treffer, Capture Groups und Vorschau fürs Ersetzen. Kostenlos, im Browser.
- JSON Formatter — JSON formatieren, minifizieren und validieren, Parse-Fehler mit Zeile und Spalte. Im Browser, ohne Upload.
- Einheitenumrechner — Rechne sofort im Browser zwischen allen gängigen Einheiten um – metrisch und imperial, Kochen, Daten, Druck, Energie, Geschwindigkeit, Kraftstoffverbrauch.