Dokumentation

Schnellstart + Funktionsbeschreibung für jeden Bereich und jedes Gerät (wird laufend erweitert)

Geplante Aufgaben (Cron)

Dieser Artikel erklärt, wie du geplante Aufgaben auf Zielservern verwaltest.

Zuerst verstehen: Was ist Cron

Cron ist das in Linux integrierte Werkzeug für „zeitgesteuerte Ausführung“. Du kannst damit „jeden Tag um 3 Uhr nachts automatisch die Datenbank sichern“, „jede Stunde die Protokolle aufräumen“ oder „jeden Montag einen Dienst neu starten“ – es läuft automatisch zur festgelegten Zeit, ohne dass jemand daneben sitzen muss.

Funktionsüberblick

Cron-Aufgaben auf Zielservern ansehen, hinzufügen und löschen.

Anwendungsfälle

  • Datenbanken zeitgesteuert sichern, Protokolle aufräumen
  • Überwachungsskripte zeitgesteuert ausführen
  • Dienste zeitgesteuert neu starten, Zertifikate erneuern

Verwendung

Auf einem Server „Systemverwaltungspanel → Geplante Aufgaben“ öffnen; dort siehst du alle aktuellen Cron-Aufgaben dieses Servers.

Aufgabe hinzufügen

Cron-Ausdruck und auszuführenden Befehl eintragen:

FeldBeschreibung
Zeitausdruck5 Felder, z. B. 0 3 * * * (jeden Tag um 3 Uhr nachts)
BefehlDer auszuführende Shell-Befehl

Format des Cron-Ausdrucks (Minute Stunde Tag Monat Wochentag):

* * * * *  Befehl
│ │ │ │ │
│ │ │ │ └── Wochentag (0-7, 0/7=Sonntag)
│ │ │ └──── Monat (1-12)
│ │ └────── Tag (1-31)
│ └──────── Stunde (0-23)
└────────── Minute (0-59)

Häufige Beispiele:

AusdruckBedeutung
*/5 * * * *alle 5 Minuten
0 * * * *jede Stunde
0 3 * * *jeden Tag um 3 Uhr nachts
0 3 * * 1jeden Montag um 3 Uhr nachts
0 3 1 * *am 1. jedes Monats um 3 Uhr nachts
0 3 * * 0jeden Sonntag um 3 Uhr nachts
30 2 * * *jeden Tag um 2:30 Uhr nachts

Praktische Befehlsbeispiele:

# Jeden Tag um 3 Uhr nachts die Datenbank sichern (Beispiel)
0 3 * * * docker exec sshe-mysql mariadb-dump -uroot -p'<Passwort>' dbname > /opt/backup/db-$(date +\%F).sql

# Alle 6 Stunden temporäre Dateien aufräumen
0 */6 * * * find /tmp -type f -mtime +7 -delete

# Jeden Montag um 4 Uhr nachts einen Dienst neu starten
0 4 * * 1 systemctl restart my-app

Hinweise

1. Cron-Aufgaben laufen unter dem aktuellen Benutzer des Zielservers; stelle sicher, dass dieser Benutzer die Rechte zum Ausführen der Befehle hat.

2. In Befehlen werden absolute Pfade empfohlen (die Cron-Umgebung hat wenige Variablen, relative Pfade finden das Programm möglicherweise nicht).

3. Ein % in einem Befehl muss als \% maskiert werden (Cron behandelt % als Sonderzeichen).

4. Nach dem Löschen einer Cron-Aufgabe gilt die Änderung sofort.

5. Das Ändern systemweiter Cron-Einträge (/etc/crontab) erfordert möglicherweise Arbeit außerhalb des Panels; das Panel verwaltet standardmäßig das crontab -l des aktuellen Benutzers.