VServer und Root Server - Cronjobs und systemd-Timer

Aus HOSTING-STATION55 - Webhosting Wiki / FAQ
Version vom 20. September 2026, 08:16 Uhr von Station55 (Diskussion | Beiträge) (Kundenleitfaden für Linux-vServer und Root-Server ergänzt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Wiederkehrende Aufgaben können mit Cron oder systemd-Timern ausgeführt werden. Verwenden Sie absolute Pfade, protokollieren Sie Fehler und verhindern Sie unerwünschte parallele Läufe.

Persönlichen Cronjob anlegen

crontab -e

Eine Cronzeile besteht aus Minute, Stunde, Tag des Monats, Monat, Wochentag und Befehl:

15 2 * * * /usr/local/bin/mein-backup >> /var/log/mein-backup.log 2>&1

Das Beispiel startet täglich um 02:15 Uhr. Der ausführende Benutzer benötigt Schreibrechte auf die Logdatei; für Benutzerjobs ist ein Pfad im eigenen Home-Verzeichnis oft geeigneter.

Aktuelle Einträge anzeigen:

crontab -l
sudo crontab -u benutzername -l

Überlappende Läufe verhindern

Wenn ein Lauf nicht erneut starten darf, solange der vorherige noch läuft:

15 2 * * * /usr/bin/flock -n /run/lock/mein-job.lock /usr/local/bin/mein-backup

Der Benutzer muss die Lockdatei anlegen dürfen. Für normale Benutzer eignet sich ein eigenes beschreibbares Laufzeitverzeichnis.

Cron-Umgebung beachten

Cron verwendet eine reduzierte Umgebung. Nutzen Sie absolute Programmpfade, setzen Sie benötigte Variablen ausdrücklich und verlassen Sie sich nicht auf das Arbeitsverzeichnis einer interaktiven Shell. Zugangsdaten gehören nicht direkt in die Cronzeile oder Prozessargumente.

Fehler prüfen

Je nach Distribution erscheinen Meldungen im Journal oder in klassischen Logdateien:

sudo journalctl -u cron --since today
sudo journalctl -u crond --since today

Nur einer der beiden Unit-Namen ist auf einem System üblich.

systemd-Timer

Systemd-Timer bieten getrennte Service- und Timer-Units, Journal-Protokollierung und Abhängigkeiten. Vorhandene Timer anzeigen:

systemctl list-timers --all

Für komplexe Systemaufgaben sind Timer häufig nachvollziehbarer als eine lange Crontab. Prüfen Sie nach Änderungen den nächsten Ausführungszeitpunkt und führen Sie den zugehörigen Service zunächst manuell aus.

Verwandte Artikel