⏱️
← Zurück zu Anleitungen

So validierst du Cron-Ausdrücke: Eine Schritt-für-Schritt-Anleitung

· Tags: cron-validation, cron-debugging, cron-syntax-check, schedule-validation, linux-crontab

So validierst du Cron-Ausdrücke

Cron-Ausdrücke sind kompakt, aber leicht falsch zu schreiben. Ein falsch gesetzter Schrägstrich oder ein Wert außerhalb des Bereichs kann dazu führen, dass ein Job zur falschen Zeit läuft — oder überhaupt nicht. Ausdrücke vor der Bereitstellung zu validieren, spart stundenlanges Debugging, wenn eine kritische Aufgabe stillschweigend fehlschlägt.

Häufige Syntaxfehler

Werte außerhalb des Bereichs

Jedes Feld akzeptiert einen bestimmten Bereich. Werte außerhalb dieses Bereichs sind ungültig.

# Invalid: minute 60 is out of range (0-59)
60 * * * *

# Invalid: hour 24 is out of range (0-23)
0 24 * * *

Fehlende Felder

Ein Cron-Ausdruck erfordert genau fünf Felder. Vier Felder sind ungültig, sechs Felder erfordern erweiterte Syntax.

# Invalid: only 4 fields (missing day of week)
0 0 * *

# Invalid: 6-field syntax without proper daemon support
0 0 * * * * /command.sh

Zähle immer: Minute, Stunde, Tag des Monats, Monat, Wochentag.

Falsche Schrittwerte

# Invalid: cannot step by 0
*/0 * * * *

# Invalid: step exceeds field maximum
*/61 * * * *

Schrittwerte müssen bei 1 beginnen und dürfen das Maximum des Feldes nicht überschreiten.

So validierst du einen Cron-Ausdruck

Schritt 1: In Felder aufteilen

Nach Leerzeichen aufteilen und prüfen, dass es genau fünf Felder sind:

Expression: 30 6 * * 1-5
Fields:     minute=30, hour=6, day=*, month=*, weekday=1-5

Schritt 2: Jedes Feld validieren

| Feld | Erlaubter Bereich | Akzeptiert Sonderzeichen | |-------|--------------|-----------------------| | Minute | 0-59 | * , - / | | Stunde | 0-23 | * , - / | | Tag des Monats | 1-31 | * , - / | | Monat | 1-12 | * , - / | | Tag der Woche | 0-7 | * , - / |

Schritt 3: Auf Konflikte prüfen

Einige Ausdrücke sind syntaktisch gültig, aber logisch überraschend:

# Runs on the 15th OR every Sunday — an OR condition
0 0 15 * 0

Tag des Monats und Tag der Woche zusammen erzeugen im Standard-Cron eine ODER-Bedingung. Der Job wird ausgeführt, wenn eines von beiden zutrifft.

Schritt 4: Kommende Zeiten vorschauen

Ausführungszeiten erzeugen, um deinen Zeitplan visuell zu überprüfen:

Expression: 0 2 * * 1
Next 5 executions:
  1. 2026-07-27 02:00:00 (Monday)
  2. 2026-08-03 02:00:00 (Monday)
  3. 2026-08-10 02:00:00 (Monday)

Wenn die Vorschau nicht deiner Absicht entspricht, korrigiere den Ausdruck vor der Produktion.

Debugging nicht ausgeführter Jobs

Ein gültiger Ausdruck, der nicht läuft, ist normalerweise ein Systemproblem:

  • Berechtigungen — das Skript muss Ausführungsberechtigung haben (chmod +x).
  • Pfad — Cron verwendet einen minimalen PATH. Verwende immer absolute Pfade: /usr/local/bin/mybackup.sh statt mybackup.sh.
  • Umgebung — Cron lädt keine Shell-Profile. Exportiere Variablen innerhalb der Crontab oder im Skript selbst.
  • Protokollierung — leite die Ausgabe um, um die Ausführung zu bestätigen:
0 6 * * * /path/to/script.sh >> /var/log/cron.log 2>&1

Verwendung des Validator-Tools

Der Cron-Expression-Validator bietet drei Funktionen:

  1. Syntaxvalidierung — sofortiges Feedback zu Feldwerten und Formatierung.
  2. Zeitplanvorschau — zeige kommende Ausführungszeiten ab dem aktuellen Datum an.
  3. Visueller Kalender — geplante Ausführungen auf einem Monatskalender dargestellt.

Kein Cron-Ausdruck sollte bereitgestellt werden, ohne die nächsten Ausführungszeiten vorzuschauen. Eine Dreißig-Sekunden-Prüfung verhindert stille Zeitplanungsfehler.

So validierst du Cron-Ausdrücke: Eine Schritt-für-Schritt-Anleitung - CoolTool