ArgusDistributed Website-Monitoring

cronjob guru

Der einfachste Weg, Cron-Expressions zu erstellen und zu verstehen.

Editor wird geladen ...

Was ist eine Cron-Expression?

Cron-Expressions bestehen aus 5 Feldern, getrennt durch Leerzeichen, die verwendet werden, um einen maschinenlesbaren Zeitplan für die Ausführung von (wiederkehrenden) Aufgaben (so gennante "Cron-Jobs") festzulegen. Sie werden häufig in Umgebungen wie Unix/Linux, AWS, Kubernetes oder anderen Tools verwendet, die es ermöglichen, wiederkehrende Aufgaben nach eigenen Vorgaben zu planen und auszuführen.

FeldMögliche WerteBeschreibung
Minute0-59Minute der Stunde
Stunde0-23Stunde des Tages (24-Stunden-Format)
Tag des Monats1-31Tag des Monats
Monat1-12Monat des Jahres
Wochentag0-6Wochentag (0 ist Sonntag, 1 ist Montag, usw.)

Gängige Anwendungsfälle, die in der Regel Cron-Expressions benötigen sind:

  • Erstellen eines nächtlichen Datenbank-Backups, jede Nacht um 2:30 Uhr
  • Ausführen eines Skripts zur Überprüfung der Erreichbarkeit eines Servers, alle 15 Minuten
  • Senden einer zusammenfassenden Benachrichtigung an einen Benutzer, jeden Tag um 9:00 Uhr

Spezielle Werte

WertBeschreibung
*
Bedeutet "alle möglichen Werte"
Beispiel: Jede Minute, jede Stunde
,
Wird verwendet, um mehrere Werte zu trennen
Beispiel: "1,3,5" bedeutet genau bei 1, 3 und 5
-
Wird verwendet, um Bereiche zu definieren
Beispiel: "1-5" bedeutet 1, 2, 3, 4, 5
/
Jede n-te Einheit
Dies wird häufig verwendet, um z.B. alle 15 Minuten anzugeben, was geschrieben wird als */15
L
"Letzter Tag des Monats"
Dieser Wert kann nur im Tag-des-Monats-Feld (3. Feld) verwendet werden.
Warnung: Dieser Sonderausdruck ist möglicherweise nicht mit allen Cron-Diensten kompatibel.
-,
Kombinierte Verwendung von Bereich und Trenner
Sie können den Bereichsoperator und den Trenner zusammen verwenden. Der Ausdruck 1-5,9,11-12 bedeutet 1,2,3,4,5,9,11,12

Häufige Beispiele

Cron-AusdruckBedeutung
* * * * *Minütlich (jede Minute)
0 * * * *Jede Stunde bei Minute 0 (z.B. 14:00, 15:00, 16:00, usw.)
0 0 * * *Jeden Tag um Mitternacht (00:00 Uhr)
0 0 * * 0Jeden Sonntag um Mitternacht
*/15 * * * *Alle 15 Minuten
0 0 1 * *Um Mitternacht am ersten Tag jedes Monats
0 12 * * 1-5Unter der Woche um 12:00 Uhr (Montag bis Freitag)

Spezielle Cron-Expressions

Einige Cron-Services unterstützen spezielle Expressions, die es einfacher machen, häufig verwendete Zeitpläne anzugeben.

ExpressionEntsprichtBeschreibung
@yearly0 0 1 1 *Einmal im Jahr um Mitternacht am 1. Januar
@monthly0 0 1 * *Einmal im Monat um Mitternacht am ersten Tag
@weekly0 0 * * 0Einmal pro Woche um Mitternacht am Sonntag
@daily0 0 * * *Einmal täglich um Mitternacht
@hourly0 * * * *Einmal pro Stunde zu Beginn der Stunde
@rebootN/AEinmal beim Start ausführen (funktioniert z.B. mit crontab)

Kompatibilitätswarnung

Diese speziellen Cron-Expressions sind möglicherweise nicht mit allen Cron-Implementierungen oder Cron-Services kompatibel. Für maximale Kompatibilität wird empfohlen, die Standard-Expressions anstelle der oben gezeigen Spezial-Expressions zu verwenden.