Cronjobs einrichten unter Ubuntu und Debian
Mit crontab Skripte zu festen Zeiten starten: Aufbau einer Zeile, Beispiele, Ausgabe protokollieren und die häufigsten Fehler unter Ubuntu und Debian.
Mit Cron führt Linux Befehle automatisch zu festen Zeiten aus, etwa Backups, Aufräumskripte oder Berichte.
Crontab öffnen
crontab -e
Beim ersten Aufruf wählst du einen Editor, nano ist am einfachsten. Jeder Benutzer hat eine eigene Crontab. Als root bearbeitest du die von root, die eines anderen Benutzers mit crontab -u max -e. Was eingetragen ist, zeigt crontab -l.
Aufbau einer Zeile
# Minute Stunde Tag Monat Wochentag Befehl
30 3 * * * /opt/skripte/backup.sh
Das Beispiel läuft jeden Tag um 3:30 Uhr.
Beispiele
| Zeile | Bedeutung |
|---|---|
*/5 * * * * | alle 5 Minuten |
0 * * * * | jede volle Stunde |
0 4 * * 1 | montags um 4 Uhr |
0 0 1 * * | am 1. jeden Monats um Mitternacht |
@reboot | einmal nach jedem Start |
Ausgabe protokollieren
30 3 * * * /opt/skripte/backup.sh >> /var/log/backup.log 2>&1
Häufige Fehler
- Befehl läuft im Terminal, aber nicht per Cron: Cron hat einen sehr kurzen
PATH. Nutze volle Pfade, etwa/usr/bin/phpstattphp(which phpzeigt ihn). - Prozentzeichen: In der Crontab beginnt mit
%eine neue Zeile, der Befehl bricht dort ab. Schreib\%, etwa$(date +\%F), oder pack den Befehl in ein Skript. - Skript nicht ausführbar:
chmod +x /opt/skripte/backup.sh - Zeitzone: Cron nutzt die Serverzeit. Prüfen mit
timedatectl, ändern mittimedatectl set-timezone Europe/Berlin.
Ob Cron gelaufen ist, zeigt journalctl -u cron.
Did this help?