Worum geht’s
Backups, Skripte, Aufräum-Jobs — vieles im Betrieb läuft zeitgesteuert per Cron. Wer einen Cron-Ausdruck lesen und schreiben kann, plant wiederkehrende Aufgaben präzise und vermeidet Klassiker wie „läuft jede Minute statt einmal nachts”. Das ist Grundhandwerk der Automatisierung auf jedem Linux-Server.
Konzept
Ein Standard-Cron-Ausdruck hat fünf Felder, durch Leerzeichen getrennt:
┌── Minute (0–59)
│ ┌── Stunde (0–23)
│ │ ┌── Tag d. Monats (1–31)
│ │ │ ┌── Monat (1–12)
│ │ │ │ ┌── Wochentag (0–7, 0 und 7 = Sonntag)
│ │ │ │ │
* * * * *
Sonderzeichen je Feld:
*— jeder Wert (jede Minute / Stunde / …).*/n— allenEinheiten (*/15in Minute = alle 15 Minuten).a-b— Bereich (1-5im Wochentag = Mo–Fr).a,b,c— Liste (0,30in Minute = zur Minute 0 und 30).
Wichtig: Ein einzelner Wert fixiert, * lässt frei. 0 3 * * * heißt
„um 03:00 jeden Tag” — die Minute ist auf 0 fixiert, sonst liefe der Job jede
Minute der dritten Stunde.
Fünf Felder ergeben die nächsten Läufe — hier die Zeitachse:
Beispiel-Fall
Gegeben: Ein Backup soll werktags (Mo–Fr) um 02:30 Uhr laufen.
- Minute =
30, Stunde =2→ fixierte Uhrzeit 02:30. - Tag d. Monats =
*, Monat =*→ jeden Tag, jeden Monat. - Wochentag =
1-5→ Montag bis Freitag. - Ergebnis:
30 2 * * 1-5.
Gegenprobe häufiger Fehler: * 2 * * 1-5 würde jede Minute zwischen 02:00
und 02:59 laufen (60 Starts!), weil die Minute auf * steht. Der fixierte Wert
30 ist entscheidend.
Lehre: Erst die Uhrzeit (Minute + Stunde) fixieren, dann den Wochentag
eingrenzen. Ein vergessenes * an der Minute macht aus einem Job 60.
Anwenden
Nutze die Next-Run-Vorschau als Kontrolle: Wenn die geplanten Zeitpunkte nicht zu deiner Absicht passen, stimmt ein Feld nicht. Lieber im Tool verifizieren als in der Crontab raten.
- Baue im Builder den Ausdruck 30 2 * * 1-5 zusammen.
- Prüfe in der Next-Run-Vorschau, dass die nächsten Läufe an Werktagen um 02:30 liegen.
- Ändere die Minute auf * und beobachte, wie die Vorschau plötzlich jede Minute zeigt.
Selbsttest
Praxis-Challenge
Plane einen Job, der am 1. jedes Monats um 04:15 Uhr läuft, zusätzlich aber auch jeden Montag um dieselbe Zeit. Überlege, ob das ein oder zwei Cron-Einträge braucht, baue die Ausdrücke im Cron-Builder und verifiziere die Next-Runs.