Mai 23, 2026Anleitungen
Cron-Jobs auf einem Linux-Server einrichten
Cron-Syntax, crontab bearbeiten, Beispiele und Logging für automatisierte Aufgaben auf dem VPS.

Cron ist der Standard-Scheduler unter Linux für Skripte und Befehle zu festen Zeiten — Backups, Cache leeren, Zertifikatsprüfung und mehr.
Cron-Syntax
Jede Zeile hat fünf Zeitfelder und den Befehl:
bash
# ┌──────── Minute (0-59)
# │ ┌────── Stunde (0-23)
# │ │ ┌──── Tag im Monat (1-31)
# │ │ │ ┌── Monat (1-12)
# │ │ │ │ ┌─ Wochentag (0-7, 0 und 7 = Sonntag)
# │ │ │ │ │
# * * * * * Befehl
# Täglich um 3:00:
0 3 * * * /usr/local/bin/backup.sh
# Alle 15 Minuten:
*/15 * * * * /usr/local/bin/check.shCrontab bearbeiten
crontab -e für den aktuellen Benutzer. Systemaufgaben mit sudo:
bash
# Benutzer-crontab
crontab -e
# Root-crontab
sudo crontab -e
# Aufgaben anzeigen
crontab -l
sudo crontab -lHäufige Beispiele
- 0 2 * * * — tägliches Backup um 2:00
- 0 */6 * * * — alle 6 Stunden
- 0 0 * * 0 — jeden Sonntag um Mitternacht
- */5 * * * * — alle 5 Minuten (vorsichtig nutzen)
- @reboot /pfad/skript.sh — nach Neustart
- @daily /usr/bin/certbot renew --quiet — tägliche SSL-Prüfung
Logging und Fehlersuche
Ausgabe in eine Logdatei umleiten:
bash
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup-cron.log 2>&1
# Cron im Systemlog:
grep CRON /var/log/syslog # Ubuntu
grep CRON /var/log/cron # CentOSTipps
- Absolute Pfade in Cron-Befehlen verwenden
- Skripte manuell testen, bevor sie in crontab landen
- MAILTO=email in crontab für Fehlermails (wenn Mail konfiguriert)
- Für komplexe Abhängigkeiten systemd-Timer erwägen
- Keine schweren Jobs jede Minute — VPS kann überlastet werden