Im ersten Kapitel hast du gelernt, dass Cron ein Dienst ist, der Befehle nach Zeitplan automatisch ausführt.
In diesem Kapitel schauen wir uns an, wie man Cronjobs schreibt – also die genaue Syntax der Crontab.
🔹 Was ist eine Crontab?
Die Crontab ist die Konfigurationsdatei, in der deine geplanten Aufgaben stehen.
Jede Zeile entspricht einem Job:
- Links stehen die Zeitangaben.
- Rechts der Befehl, der ausgeführt werden soll.
👉 So sieht der Grundaufbau einer Zeile aus:
MINUTE STUNDE TAG_MONAT MONAT TAG_WOCHE BEFEHL
Beispiel:
30 2 * * * /home/user/backup.sh
Bedeutung: Jeden Tag um 02:30 Uhr soll das Skript /home/user/backup.sh
laufen.
🔹 Die fünf Zeitfelder
Jede Crontab-Zeile beginnt mit 5 Feldern für Zeitangaben:
- Minute (0–59)
- Stunde (0–23)
- Tag im Monat (1–31)
- Monat (1–12 oder Namen wie
jan
,feb
, …) - Wochentag (0–7, wobei 0 und 7 = Sonntag)
👉 Danach folgt der Befehl, den Cron ausführen soll.
🔹 Platzhalter & Sonderzeichen
Cron unterstützt verschiedene Platzhalter, die sehr praktisch sind:
*
→ bedeutet „jede mögliche Zahl“
* * * * * echo "läuft jede Minute"
,
→ mehrere Werte gleichzeitig
0,15,30,45 * * * * echo "läuft alle 15 Minuten"
-
→ Wertebereiche
0 9-17 * * * echo "läuft jede volle Stunde zwischen 9 und 17 Uhr"
/
→ Schrittweite
*/10 * * * * echo "läuft alle 10 Minuten"
👉 Mit diesen Symbolen kannst du sehr flexible Zeitpläne erstellen.
🔹 Typische Beispiele
Jeden Tag um 3 Uhr morgens:
0 3 * * * /usr/local/bin/backup.sh
Jeden Montag um 8 Uhr:
0 8 * * 1 echo "Montagsgruß"
Jeden ersten Tag im Monat:
0 0 1 * * /usr/local/bin/abrechnung.sh
Jede Minute (für Tests):
* * * * * echo "Hallo Welt"
👉 So kannst du ganz leicht unterschiedliche Frequenzen definieren.
🔹 Crontab bearbeiten
crontab -e
Beim ersten Mal wirst du nach einem Editor gefragt (z. B. nano
oder vim
).
Die Cronjobs werden dann in dieser Datei eingetragen.
Deine Änderungen speicherst du wie eine normale Textdatei – Cron liest sie automatisch ein, du musst den Dienst nicht neu starten.
🔹 Ausgabe & Fehler von Cronjobs
Standardmäßig sendet Cron Ausgaben oder Fehlermeldungen an die lokale Mailbox des Benutzers.
Falls du kein Mailsetup hast, kannst du Ausgaben auch in eine Datei umleiten:
* * * * * echo "Hallo" >> /home/user/test.log 2>&1
👉 So kannst du leicht prüfen, ob dein Job wirklich läuft.
🔹 Übung
- Öffne deine Crontab mit
crontab -e
. - Füge einen Job ein, der jede Minute „Hallo Welt“ in eine Datei schreibt (
/tmp/cron_test.log
). - Warte ein paar Minuten und prüfe den Inhalt der Datei mit
cat /tmp/cron_test.log
. - Lösche den Testjob wieder aus deiner Crontab.
✅ Zusammenfassung
- Eine Crontab besteht aus 5 Zeitfeldern + Befehl.
- Mit
*
,,
,-
,/
kannst du flexible Zeitpläne definieren. - Bearbeitet wird die Crontab mit
crontab -e
. - Mit Umleitungen (
>> logfile 2>&1
) kannst du Ausgaben prüfen.
👉 Im nächsten Kapitel legen wir unsere ersten eigenen Cronjobs an und lernen, wie man einfache Automatisierungen schreibt.