Cron-Syntax Cheat Sheet: Vollständige Referenz
Cron ist ein zeitbasierter Job-Scheduler in Unix-ähnlichen Betriebssystemen. Egal, ob Sie als Entwickler eine Hintergrundaufgabe einrichten oder als DevOps-Ingenieur die Serverwartung verwalten – das Verständnis der Cron-Ausdruckssyntax ist unerlässlich.
Dieser Leitfaden bietet eine vollständige Aufschlüsselung der Cron-Felder, Sonderzeichen und praktischen Beispiele, damit Sie Aufgaben sicher planen können.
1. Format von Cron-Ausdrücken
Ein Standard-Cron-Ausdruck besteht aus fünf Feldern (oder sechs in einigen Systemen wie Quartz oder Jenkins).
┌───────────── Minute (0 - 59)
│ ┌───────────── Stunde (0 - 23)
│ │ ┌───────────── Tag des Monats (1 - 31)
│ │ │ ┌───────────── Monat (1 - 12)
│ │ │ │ ┌───────────── Wochentag (0 - 6) (Sonntag bis Samstag)
│ │ │ │ │
* * * * *
2. Referenz für Sonderzeichen
| Zeichen | Beschreibung | Beispiel |
|---|---|---|
* |
Jeder Wert: Entspricht jedem möglichen Wert für dieses Feld. | * * * * * (Jede Minute) |
, |
Listen-Trennzeichen: Gibt eine Liste von Werten an. | 0,15,30,45 (Alle 15 Minuten) |
- |
Wertebereich: Gibt einen Bereich von X bis Y an. | 9-17 (Von 9 bis 17 Uhr) |
/ |
Schrittwerte: Gibt Intervalle an. | */15 (Alle 15 Minuten) |
L |
Letzter (Last): Gibt den letzten Tag des Monats oder der Woche an. | 5L (Letzter Freitag des Monats) |
W |
Werktag (Weekday): Der nächste Werktag (Mo-Fr) zu einem Datum. | 15W (Nächster Werktag zum 15.) |
# |
N-ter Wochentag: Gibt das n-te Vorkommen eines Wochentags an. | 6#3 (Dritter Samstag im Monat) |
3. Gängige Cron-Beispiele
| Zeitplan | Ausdruck | Beschreibung |
|---|---|---|
| Jede Minute | * * * * * |
Führt die Aufgabe jede Minute aus. |
| Jede Stunde | 0 * * * * |
Wird zu Beginn jeder Stunde ausgeführt. |
| Täglich um Mitternacht | 0 0 * * * |
Wird einmal täglich um 00:00 Uhr ausgeführt. |
| Sonntags um 4 Uhr morgens | 0 4 * * 0 |
Ideal für wöchentliche Backups. |
| Alle 15 Minuten | */15 * * * * |
Ausführung um :00, :15, :30 und :45. |
| Geschäftszeiten (9-17 Uhr) | 0 9-17 * * 1-5 |
Stündliche Ausführung an Werktagen. |
4. crontab -e vs crontab -l
Der Befehl crontab wird verwendet, um Ihre persönlichen Cron-Jobs zu verwalten.
crontab -e: Öffnet Ihre persönliche crontab-Datei zum Bearbeiten. Wenn Sie dies zum ersten Mal tun, werden Sie möglicherweise aufgefordert, einen Editor (wie nano oder vim) zu wählen.crontab -l: Listet alle aktiven Cron-Jobs für den aktuellen Benutzer auf.crontab -r: Entfernt alle Ihre aktuellen Cron-Jobs. Mit Vorsicht genießen!
5. Visualisierung Ihres Zeitplans
Das Lesen eines rohen Cron-Ausdrucks kann schwierig sein. Deshalb haben wir den Cron-Zeitplan-Visualisierer entwickelt.
Unser Tool hilft Ihnen:
- Ausdrücke parsen: Sofortige Übersetzung von
0 4 * * 0in „Um 04:00 Uhr an Sonntagen“. - Nächste Laufzeiten: Sehen Sie die nächsten 5 geplanten Ausführungen basierend auf Ihrer Zeitzone.
- Menschlich lesbare Beschreibungen: Kein Raten mehr, was
*/5 9-17 * * 1-5bedeutet.
FAQ: Fehlerbehebung bei Cron-Jobs
F: Warum wird mein Cron-Job nicht ausgeführt?
A: Der häufigste Grund sind Umgebungsvariablen. Cron wird mit einer minimalen Shell-Umgebung ausgeführt. Verwenden Sie immer absolute Pfade für Befehle (z. B. /usr/bin/python3 statt python3) und protokollieren Sie Ihre Ausgabe in einer Datei: * * * * * /pfad/zum/script.sh >> /var/log/cron.log 2>&1.
F: Was ist die systemd-timer Alternative?
A: Moderne Linux-Distributionen (wie Ubuntu, Fedora) empfehlen systemd timers anstelle von cron. Sie bieten eine bessere Protokollierung über journalctl, Abhängigkeiten und eine flexiblere Planung, obwohl die Konfiguration komplexer ist.
F: Wie gehe ich mit Zeitzonenproblemen in cron um?
A: Standardmäßig läuft cron in der lokalen Zeitzone des Systems (auf Servern meist UTC). Einige Systeme erlauben es Ihnen, CRON_TZ=Europe/Berlin am Anfang der crontab-Datei festzulegen, aber der zuverlässigste Weg ist die Synchronisierung Ihrer Serveruhr mit der gewünschten Zeitzone.
Verwandte Tools auf Tool3M
- Cron Parser & Visualisierer: Validieren und visualisieren Sie Ihre Cron-Ausdrücke sofort.
- JSON-Formatierer: Formatieren Sie Konfigurationsdateien, die Cron-Strings enthalten könnten.
- Zeitstempel-Konverter: Konvertieren Sie Ausführungszeiten zwischen verschiedenen Formaten und Zeitzonen.