# cron und crontab

> Wie cron geplante Aufgaben ausführt, die fünf crontab-Zeitfelder, wo sich System-cron-Dateien befinden und wie systemd-Timer im Vergleich abschneiden.

cron ist der klassische Unix-Daemon, der Befehle nach einem Zeitplan ausführt. Jeder Benutzer hat eine crontab, die mit crontab -e bearbeitet wird und in der jede Zeile fünf Zeitfelder (Minute, Stunde, Tag des Monats, Monat, Wochentag) gefolgt vom Befehl enthält. Systemaufgaben befinden sich in /etc/crontab und /etc/cron.d/.

## Die Zeitfelder

'30 2 * * *' bedeutet täglich um 02:30 Uhr; '*/10 * * * *' alle zehn Minuten; '0 9 * * 1' montags um 09:00 Uhr. Die Wochentage 0 und 7 stehen für Sonntag.

## Systemdateien

Dateien in /etc/cron.d/ und /etc/crontab haben ein zusätzliches Feld, den Benutzernamen, zwischen der Zeit und dem Befehl. Verzeichnisse wie /etc/cron.daily enthalten Skripte, die einmal täglich ausgeführt werden.

## Häufige Fallstricke

cron läuft in einer minimalen Umgebung: Verwenden Sie absolute Pfade oder setzen Sie PATH in der crontab. Die Ausgabe wird an den Eigentümer gesendet oder geht verloren; leiten Sie sie in eine Protokolldatei um. Das Zeichen % hat in crontab-Zeilen eine besondere Bedeutung und muss als \% maskiert werden.

## systemd-Timer

Auf Distributionen mit systemd sind .timer-Einheiten eine Alternative mit Protokollierung im Journal, zufälligen Verzögerungen und dem Nachholen verpasster Ausführungen (Persistent=true).

## So fügen Sie eine tägliche Aufgabe hinzu

1. Öffnen Sie Ihre crontab: crontab -e
2. Fügen Sie eine Zeile hinzu, zum Beispiel: 30 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
3. Speichern und beenden; cron übernimmt die Änderung automatisch.
4. Listen Sie die Aufgaben auf: crontab -l

## Vorsicht

- 'crontab -r' löscht die gesamte crontab ohne Rückfrage.
- Testen Sie den Befehl manuell mit demselben Benutzer, bevor Sie ihn planen.

## Quellen

- [crontab(5)](https://man7.org/linux/man-pages/man5/crontab.5.html)
- [crontab(5) (Debian)](https://manpages.debian.org/bookworm/cron/crontab.5.en.html)
- [systemd.timer(5)](https://man7.org/linux/man-pages/man5/systemd.timer.5.html)

Zuletzt aktualisiert: 2026-10-08
URL: https://raincleaner.eu/de/wiki/linux/cron
