Cronjobs verstehen: Die fünf Felder des Cron-Ausdrucks erklärt

Backups, die nachts um drei laufen. Reports, die jeden Montagmorgen im Postfach liegen. Ein Cache, der alle fünf Minuten geleert wird. Hinter all diesen wiederkehrenden Aufgaben steckt fast immer Cron – der Klassiker unter den Job-Schedulern auf Linux- und Unix-Servern. Wer ihn versteht, automatisiert seinen Server-Alltag mühelos. Dieser Ratgeber erklärt den berüchtigten Cron-Ausdruck Feld für Feld.

Was ist Cron?

Cron ist ein Dienst (Daemon), der im Hintergrund läuft und einmal pro Minute prüft, ob eine geplante Aufgabe ansteht. Die Aufgaben selbst – die Cronjobs – stehen in einer Tabelle namens crontab ("cron table"). Jede Zeile darin besteht aus zwei Teilen: einem Zeitplan und dem Befehl, der zu diesem Zeitpunkt ausgeführt werden soll.

Der Zeitplan ist genau das, was viele am Anfang verwirrt: eine kryptische Folge aus Zahlen und Sternchen. Dabei folgt sie einem klaren System.

Die fünf Felder im Detail

Ein klassischer Cron-Ausdruck besteht aus fünf durch Leerzeichen getrennten Feldern, immer in dieser Reihenfolge:

Liest man die fünf Werte von links nach rechts, ergibt sich der genaue Auslösezeitpunkt. 30 8 * * 1 bedeutet beispielsweise: jede Woche montags um 8:30 Uhr. Mit dem Cron Generator stellst du Intervall, Uhrzeit und Wochentag bequem ein und bekommst den fertigen Ausdruck ausgegeben – ohne raten zu müssen.

Die Sonderzeichen

Die eigentliche Flexibilität von Cron steckt in vier Sonderzeichen, mit denen sich jedes Feld feiner steuern lässt.

Der Stern (*)

Das Sternchen steht für "jeder mögliche Wert". Ein * im Minutenfeld heißt "jede Minute", im Wochentagsfeld "an jedem Wochentag". Stehen in allen fünf Feldern Sterne (* * * * *), läuft der Job jede einzelne Minute.

Der Schrägstrich (/) für Intervalle

Mit dem Schrägstrich definierst du Schrittweiten. */15 im Minutenfeld bedeutet "alle 15 Minuten", also zu Minute 0, 15, 30 und 45. Das ist der häufigste Anwendungsfall für regelmäßige, eng getaktete Aufgaben.

Das Komma (,) für Listen

Mit dem Komma zählst du einzelne Werte auf. 0 9,13,17 * * * löst den Job dreimal täglich aus – um 9, 13 und 17 Uhr.

Der Bindestrich (-) für Bereiche

Der Bindestrich definiert eine Spanne. 1-5 im Wochentagsfeld bedeutet Montag bis Freitag. So lassen sich etwa Aufgaben nur an Werktagen einplanen.

Typische Beispiele aus der Praxis

Diese Muster decken einen Großteil der Anwendungsfälle ab:

Häufige Stolperfallen

Cron ist mächtig, aber gnadenlos präzise. Diese Fehler kosten Anfänger regelmäßig Nerven:

Bevor du einen Ausdruck produktiv einsetzt, kontrolliere mit dem Cron Generator noch einmal die Klartext-Beschreibung. So vermeidest du, dass ein Job versehentlich jede Minute statt einmal täglich feuert. Wie oft ein Intervall pro Tag, Woche und Monat wirklich läuft, rechnest du mit dem Cron Intervall Rechner nach. Weitere Server-Helfer gibt es in den kotsch.tech Webtools.

Häufige Fragen

Wie bearbeite ich meine crontab?

Auf den meisten Systemen öffnest du sie mit dem Befehl crontab -e im Terminal. Damit landest du in einem Editor und kannst Zeilen hinzufügen oder ändern. Mit crontab -l lässt du dir die aktuelle Liste nur anzeigen.

Was ist der Unterschied zwischen Cron und systemd-Timern?

Beide planen wiederkehrende Aufgaben. Cron ist der ältere, einfachere Standard mit der bekannten Fünf-Felder-Syntax. systemd-Timer bieten mehr Funktionen wie Abhängigkeiten und Nachholen verpasster Läufe, sind dafür aber komplexer zu konfigurieren. Für einfache Zeitpläne reicht Cron meist völlig.

Gibt es ein sechstes Feld für Sekunden?

Klassischer Unix-Cron kennt nur fünf Felder und damit eine minütliche Auflösung. Manche Erweiterungen und Scheduler-Bibliotheken (etwa in Programmiersprachen) ergänzen ein sechstes Feld für Sekunden ganz vorne. Auf einem Standard-Linux-Server bleibt es aber bei fünf Feldern.