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.
📚 Inhaltsverzeichnis
👉 Cron Kapitel 1: Grundlagen von Cron & dem Task-Scheduler
👉 Cron Kapitel 2: Die Crontab verstehen – Aufbau & Syntax
👉 Cron Kapitel 3: Eigene Cronjobs erstellen – erste Automatisierungen
👉 Cron Kapitel 4: Cronjobs überwachen & Fehler finden
👉 Cron Kapitel 5: Praktische Cron-Beispiele für den Alltag
👉 Cron Kapitel 6: Sicherheit & Best Practices für Cronjobs
👉 Cron Kapitel 7: Erweiterungen – anacron & systemd timers
👉 Cron Kapitel 8: Abschlussprojekt – Dein eigenes Cron-Setup
