tigtools

Cron-Ausdruck erklären

Geben Sie einen Cron-Zeitplan mit 5 Feldern ein, um seine Bedeutung und die nächsten Ausführungszeiten zu sehen. Alle Berechnungen erfolgen in Ihrem Browser.

Läuft in Ihrem Browser Keine Anmeldung erforderlich

Fünf Felder: Minute, Stunde, Tag des Monats, Monat, Wochentag. Kurzformen wie @daily funktionieren ebenfalls.

Häufige Zeitpläne

Bedeutung

Alle 15 Minuten, zwischen 09:00 und 17:59, am Montag bis Freitag.

Felder

Minute
*/15
Stunde
9-17
Tag des Monats
*
Monat
*
Wochentag
1-5
Zeitzone

Nächste 10 Ausführungen

    Anleitung

    1. Geben Sie einen Cron-Ausdruck ein oder fügen Sie ihn ein, oder wählen Sie einen der gängigen Zeitpläne aus.
    2. Lesen Sie die Bedeutung in Klartext. Bei ungültigen Feldern wird der Grund angegeben.
    3. Prüfen Sie die nächsten 10 Ausführungszeiten in Ihrer lokalen Zeitzone. Wechseln Sie zu UTC, wenn Ihr Server UTC verwendet.
    4. Kopieren Sie die Ausführungszeiten, um sie weiterzugeben, oder passen Sie den Ausdruck an, bis der Zeitplan Ihren Anforderungen entspricht.

    So funktioniert es

    Ein standardmäßiger Cron-Ausdruck, wie er von crontab unter Linux (Vixie cron und cronie) sowie von vielen CI- und Hosting-Schedulern verwendet wird, besteht aus fünf durch Leerzeichen getrennten Feldern: Minute (0–59), Stunde (0–23), Tag des Monats (1–31), Monat (1–12 oder JAN–DEC) und Wochentag (0–7 oder SUN–SAT, wobei 0 und 7 für Sonntag stehen). Jedes Feld akzeptiert * für jeden Wert, einen einzelnen Wert, einen Bereich wie 1-5, eine Liste wie 1,15,30 und einen Schritt wie */15 (jeder 15. Wert) oder 9-17/2 (jede zweite Stunde von 9 bis 17). Namen können groß- oder kleingeschrieben werden. Die Kurzformen @yearly (oder @annually), @monthly, @weekly, @daily (oder @midnight) und @hourly stehen für 0 0 1 1 *, 0 0 1 * *, 0 0 * * 0, 0 0 * * * und 0 * * * *.

    Für die Felder Tag des Monats und Wochentag gilt eine Regel, die viele überrascht. Beginnt eines der Felder mit *, muss ein Tag beide Felder erfüllen. Sind beide Felder eingeschränkt, wird ein Tag ausgeführt, wenn eines der beiden Felder zutrifft: 0 0 13 * 5 wird am 13. jedes Monats und außerdem an jedem Freitag ausgeführt, nicht nur an einem Freitag, dem 13. Da geprüft wird, ob das Feld mit * beginnt, gilt auch ein Schritt wie */2 als uneingeschränkt. Dieses Verhalten entspricht Vixie cron und cronie; einige andere Scheduler verhalten sich anders.

    Die nächsten Ausführungszeiten werden in der Zeitzone Ihres Browsers oder in UTC berechnet, wie es die meisten Server und Cloud-Scheduler verwenden. Cron selbst nutzt die Zeitzone des Rechners, auf dem es läuft. Bei der Umstellung auf oder von der Sommerzeit verhalten sich echte Cron-Daemons unterschiedlich: Dieses Tool lässt Ortszeiten aus, die beim Vorstellen der Uhr nicht existieren, und zeigt eine doppelte Stunde nur einmal an. Erweiterte Syntax wird nicht unterstützt: Quartz-Ausdrücke mit sechs oder sieben Feldern für Sekunden oder Jahre sowie die Sonderzeichen ?, L, W und #.

    Beispiele

    Systemprüfung während der Bürozeiten

    */15 9-17 * * 1-5 bedeutet: alle 15 Minuten zwischen 09:00 und 17:59 Uhr, Montag bis Freitag. Der letzte Lauf des Tages ist um 17:45 Uhr.

    Nächtliches Backup

    30 2 * * * wird täglich um 02:30 Uhr ausgeführt. Wenn der Server UTC verwendet und Sie sich in New York befinden, zeigt die Liste der nächsten Ausführungen im UTC-Modus die Zeiten an, die der Server tatsächlich verwendet.

    Die Tücke der Tagesfelder

    0 9 1 * 1 sieht nach „9:00 Uhr am Monatsersten, wenn dieser ein Montag ist“ aus. Der Ausdruck wird aber am 1. jedes Monats um 09:00 Uhr und außerdem jeden Montag ausgeführt. Für eine Ausführung nur am ersten Montag verwenden Sie 0 9 1-7 * * und prüfen den Wochentag im Skript.

    Häufig gestellte Fragen

    Was bedeutet */5 in Cron?

    Das bedeutet: jeder fünfte Wert des Felds, beginnend mit dem niedrigsten Wert. Im Minutenfeld wird */5 zu den Minuten 0, 5, 10 … 55 ausgeführt. Im Stundenfeld wird */5 um 0, 5, 10, 15 und 20 Uhr ausgeführt. Der Abstand von 20:00 Uhr bis Mitternacht beträgt also vier statt fünf Stunden.

    Warum wird mein Job an mehr Tagen ausgeführt als erwartet?

    Sind sowohl das Feld für den Tag des Monats als auch das für den Wochentag eingeschränkt, wird Cron an Tagen ausgeführt, die einem der beiden Felder entsprechen. Zum Beispiel wird 0 0 15 * 1 am 15. und an jedem Montag ausgeführt. Setzen Sie eines der beiden Felder auf *, wenn nur das andere maßgeblich sein soll.

    Welche Zeitzone verwendet Cron?

    Cron verwendet die Systemzeitzone des Servers, auf dem der Cron-Daemon läuft, sofern die crontab nicht CRON_TZ oder TZ setzt (wird von cronie unterstützt). Cloud-Scheduler verwenden häufig standardmäßig UTC. Aktivieren Sie die UTC-Option, um die Zeiten für einen Server mit UTC anzuzeigen.

    Kann ich Sekunden oder ein Jahresfeld verwenden?

    Nicht mit standardmäßigem Cron, das eine Auflösung von einer Minute und fünf Felder hat. Formate mit sechs oder sieben Feldern für Sekunden und Jahre gehören zu Quartz, Spring und ähnlichen Bibliotheken und werden von diesem Tool nicht unterstützt.

    Steht 0 oder 7 für Sonntag?

    Beides. Im Wochentagsfeld stehen 0 und 7 für Sonntag, 1 für Montag und 6 für Samstag. Sie können auch die dreistelligen Namen SUN bis SAT verwenden.

    Datenschutz

    Der Ausdruck wird in Ihrem Browser analysiert und die Ausführungszeiten werden dort berechnet. Ihre Eingaben werden weder hochgeladen noch gespeichert oder in Analysen einbezogen.