Was ist ein Cron-Job und wie richtet man ihn ein? Linux-Scheduling
Mit Cron auf Linux automatische Backups, Log-Bereinigung und Skript-Planung. Crontab-Syntax, Beispiele und Stolperfallen.
Sie wollen jede Nacht automatische Backups, wöchentliche Log-Bereinigung oder einen Health-Check alle 5 Minuten? Cron ist das Linux-Standardwerkzeug dafür. Diese Anleitung deckt Crontab-Syntax, praktische Beispiele und Fallstricke ab.
Was ist Cron?
Cron ist ein Linux-Daemon, der Befehle zu geplanten Zeiten ausführt. Er liest crontab-Dateien minütlich und triggert fällige Befehle.
Crontab-Syntax
Eine Cron-Zeile: 5 Zeitfelder + Befehl:
* * * * * befehl
│ │ │ │ │
│ │ │ │ └── Wochentag (0-7, 0 und 7 = Sonntag)
│ │ │ └──── Monat (1-12)
│ │ └────── Tag des Monats (1-31)
│ └──────── Stunde (0-23)
└────────── Minute (0-59)
Praktische Beispiele
| Ausdruck | Bedeutung |
|---|---|
* * * * * | Jede Minute |
*/5 * * * * | Alle 5 Minuten |
0 * * * * | Zur vollen Stunde |
0 3 * * * | Täglich um 03:00 |
0 3 * * 1 | Montags um 03:00 |
0 3 1 * * | 1. jedes Monats 03:00 |
30 2 * * 1-5 | Werktags 02:30 |
@reboot | Beim Server-Start |
@daily | Täglich 00:00 |
@weekly | Sonntags 00:00 |
Komplexe Ausdrücke testen: crontab.guru
Crontab bearbeiten
crontab -e # Aktueller Benutzer
sudo crontab -e # root
crontab -l # Auflisten
crontab -r # ALLES löschen (Vorsicht!)
Beim ersten Mal wird ein Editor gewählt — nano (einfach) oder vim.
Praktische Beispiele
Nächtliches Backup
0 3 * * * /usr/local/bin/backup-wp.sh >> /var/log/backup.log 2>&1
Stündliche Log-Bereinigung
0 * * * * find /var/log/myapp -name "*.log" -mtime +30 -delete
Health-Check alle 5 Minuten
*/5 * * * * curl -s -o /dev/null -w "%{http_code}" https://ihre-site.com >> /var/log/health.log
Datenbank-Backup
30 2 * * * mysqldump -u root -p'PASSWORT' db | gzip > /backup/db-$(date +\%Y\%m\%d).sql.gz
⚠️ % ist in crontab speziell — \% zum Escapen.
Zertifikatserneuerung
0 4 * * * certbot renew --quiet && systemctl reload nginx
SSL-Details: Let’s Encrypt-Beitrag.
Cron-Ausführung verifizieren
sudo systemctl status cron
sudo tail -f /var/log/syslog | grep CRON
sudo tail -f /var/log/cron
Zum Testen: für 1-2 Minuten in Zukunft planen, Log beobachten.
Häufige Stolperfallen
- Cron lief nicht: Befehle mit absolutem Pfad schreiben (
/usr/bin/php, nicht nurphp) - Keine Env-Vars: Cron mit minimalem Env →
PATH=am Skriptanfang setzen %vergessen:date +%Y%m%dbricht —\%- Keine Ausgabe sichtbar: ohne Mail-Konfiguration STDOUT verloren →
>> log 2>&1 - PHP/Node-Skript-Timeouts: läuft als CLI, kein Web-Timeout — lange Skripte aber in Hintergrund
- Zeitzone: UTC-Server verschiebt Zeiten →
sudo timedatectl set-timezone Europe/Berlin
systemd-Timer-Alternative (modern)
systemd-Timer sind moderner als Cron, mit besserer Log-Integration:
/etc/systemd/system/backup.service:
[Unit]
Description=Daily backup
[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup-wp.sh
/etc/systemd/system/backup.timer:
[Unit]
Description=Daily backup timer
[Timer]
OnCalendar=*-*-* 03:00:00
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable --now backup.timer
sudo systemctl list-timers
Fazit
Cron ist das Fundament der Server-Automation. In 5 Minuten gelernt, täglich genutzt. Backups, Bereinigung, Monitoring — alles mit Cron.
Verwandt: Server-Backups · Linux-Disk-Erweiterung
Ähnliche Beiträge
Das könnte Sie auch interessieren.
Was ist NVMe SSD? Der Einfluss auf die Serverleistung (vs. SATA SSD)
Was ist NVMe und wie unterscheidet es sich von SATA SSD? IOPS, Latenz und Praxiszahlen zeigen, warum NVMe heute der Server-Standard ist.
Weiterlesen
Was ist ein Dedicated Server? Wer braucht wirklich einen?
Was ist ein Dedicated Server, wie unterscheidet er sich vom VDS, wann ist er Pflicht? Vorteile, Kosten und die Colocation-Alternative — alles in diesem Ratgeber.
Weiterlesen
VDS mieten: 10 Kriterien, die Sie vor der Bestellung prüfen sollten
Vom CPU-Modell über den Disk-Typ bis zu DDoS-Schutz und Backups — die 10 Kriterien vor der VDS-Miete, einzeln erklärt. Wählen Sie nicht das falsche Paket.
Weiterlesen