🇩🇪 DE 🇬🇧 EN
NexoraHost / Docs Start
Beliebte Suchen:Minecraft startet nichtMinecraft Server erstellenFiveM txAdminWordPress installierenSubdomain einrichtenVPS DeutschlandSSL FehlerPort 25565 freigebenDiscord Bot hostenDNS Troubleshooting

Cronjobs – Aufgaben automatisch planen

Mit Cronjobs automatisierst du wiederkehrende Aufgaben auf deinem Server – von Backups über Updates bis hin zum Löschen alter Logs. Diese Anleitung zeigt dir, wie du Cronjobs einrichtest und verwaltest.

Hinweis: Ausführliche Anleitungen zu Server-Administration findest du in der linken Navigation.

Was ist ein Cronjob?

Ein Cronjob ist eine zeitgesteuerte Aufgabe, die der Cron-Daemon im Hintergrund ausführt. Du legst fest, wann und wie oft ein Befehl oder Skript ausgeführt wird – einmalig oder regelmäßig. Cron läuft auf jedem Linux-Server und ist standardmäßig aktiv.

Cronjob-Syntax verstehen

Ein Cronjob besteht aus fünf Zeitangaben und dem auszuführenden Befehl:

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

Zeitangaben – Beispiele

Zeitplan Syntax Bedeutung
Jede Minute * * * * * Läuft 1440 Mal am Tag
Jede Stunde 0 * * * * Zur vollen Stunde
Täglich um 3 Uhr nachts 0 3 * * * Gut für Backups und Wartung
Jeden Sonntag um 4 Uhr 0 4 * * 0 Wöchentliche Aufgaben
Am 1. jedes Monats 0 0 1 * * Monatliche Berichte
Alle 15 Minuten */15 * * * * Häufige Prüfungen
Werktags um 9 Uhr 0 9 * * 1-5 Montag bis Freitag

Cronjobs einrichten

Für den aktuellen Benutzer

# Crontab öffnen
crontab -e

Beim ersten Mal wirst du nach einem Editor gefragt. Wähle nano (einfacher) oder vim (fortgeschritten).

Für root (System-Aufgaben)

sudo crontab -e

Für einen bestimmten Benutzer

sudo crontab -u benutzername -e

Praktische Beispiele

Backup-Automatisierung

# Tägliches Datenbank-Backup um 2:30 Uhr nachts
30 2 * * * mysqldump -u root -p'Passwort' datenbank > /backup/db_$(date +\%Y\%m\%d).sql

# Wöchentliches Server-Backup jeden Sonntag um 4 Uhr
0 4 * * 0 tar -czf /backup/server_$(date +\%Y\%m\%d).tar.gz /var/www

Log-Management

# Logs löschen die älter als 30 Tage sind
0 5 * * * find /var/log -name "*.log" -mtime +30 -delete

# Docker-Logs aufräumen
0 6 * * 0 docker system prune -af

Updates und Wartung

# System-Updates jeden Montag um 3 Uhr
0 3 * * 1 apt update && apt upgrade -y

# Server einmal täglich neustarten (für Gameserver)
0 4 * * * systemctl restart minecraft

Monitoring

# Speicherplatz-Prüfung mit E-Mail-Warnung
0 8 * * * df -h | awk '{if ($5+0 > 90) print "Warnung: " $6 " ist " $5 " voll"}' | mail -s "Speicherplatz-Warnung" [email protected]

Cronjobs verwalten

# Alle Cronjobs des aktuellen Benutzers anzeigen
crontab -l

# Alle Cronjobs löschen (Vorsicht!)
crontab -r

# Alle Cronjobs aller Benutzer anzeigen
for user in $(cut -f1 -d: /etc/passwd); do echo "=== $user ==="; sudo crontab -u $user -l 2>/dev/null; done

Ausgabe und Logging

Standardmäßig wird die Ausgabe eines Cronjobs per E-Mail an den Benutzer geschickt. Das kannst du steuern:

# Ausgabe in Datei schreiben
0 3 * * * /pfad/zum/skript.sh >> /var/log/mein-cron.log 2>&1

# Ausgabe verwerfen (still)
0 3 * * * /pfad/zum/skript.sh > /dev/null 2>&1

# Nur Fehler loggen
0 3 * * * /pfad/zum/skript.sh >> /var/log/mein-cron.log 2>> /var/log/mein-cron-error.log

Systemweite Cronjobs (/etc/crontab)

Neben benutzerspezifischen Crontabs gibt es systemweite Cronjobs. Diese haben ein zusätzliches Feld für den Benutzer:

# In /etc/crontab
# m h dom mon dow user command
0 3 * * * root /usr/local/bin/backup.sh

Vorkonfigurierte Verzeichnisse für Skripte:

Lege einfach ein ausführbares Skript in das entsprechende Verzeichnis.

Häufige Probleme

Cronjob läuft nicht:

Prozentzeichen (%) in Befehlen:

Skript ist ausführbar, läuft aber nicht via Cron:

Ausführliche Anleitungen zu Skripten und Automatisierung findest du in den Artikeln der linken Navigation.

NexoraHost

Eigener Server

Root-Zugriff für Linux-Admins – absichern mit unseren VPS/Root-Guides.

nexorahost.com · Maincubes FRA01 · 1 Tbit/s DDoS · 99,9 % Uptime