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:

  1. Minute (0–59)
  2. Stunde (0–23)
  3. Tag im Monat (1–31)
  4. Monat (1–12 oder Namen wie jan, feb, …)
  5. 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

  1. Öffne deine Crontab mit crontab -e.
  2. Füge einen Job ein, der jede Minute „Hallo Welt“ in eine Datei schreibt (/tmp/cron_test.log).
  3. Warte ein paar Minuten und prüfe den Inhalt der Datei mit cat /tmp/cron_test.log.
  4. 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.