⏰ Cronjobs unter Linux – Zeitgesteuerte Aufgaben automatisieren
Cronjobs sind geplante Aufgaben, die zu bestimmten Zeiten automatisch auf einem Linux-System ausgeführt werden. Sie sind extrem hilfreich für Wartung, Backups, Monitoring oder automatisierte Prozesse – ohne menschliches Zutun.
📜 Inhaltsverzeichnis
- 🧠 Was ist ein Cronjob?
- 📂 Speicherort & Struktur
- ⌛ Syntax der Crontab
- 🔧 Cronjob anlegen
- 🔍 Cronjob anzeigen, bearbeiten, löschen
- 🧪 Beispiele für Cronjobs
- 📭 Cron-Output & Logs
- 🛑 Mögliche Fehlerquellen
- 🛡️ Sicherheitshinweise
- 📚 Weiterführende Links
🧠 1. Was ist ein Cronjob?
Ein Cronjob ist ein zeitgesteuerter Task, der regelmäßig oder zu einem bestimmten Zeitpunkt durch den Cron-Daemon (cron
) ausgeführt wird. Das kann z. B. ein Skript, ein Backup, ein Systembefehl oder ein Update sein.
📂 2. Speicherort & Struktur
- Benutzerdefinierte Cronjobs:
crontab -e
- Systemweite Jobs:
/etc/crontab
/etc/cron.d/
/etc/cron.daily/
,cron.hourly/
,cron.weekly/
⌛ 3. Syntax der Crontab
bashKopierenBearbeiten# ┌──────── Minute (0 - 59)
# │ ┌────── Stunde (0 - 23)
# │ │ ┌──── Tag des Monats (1 - 31)
# │ │ │ ┌── Monat (1 - 12)
# │ │ │ │ ┌─ Wochentag (0 - 7) (Sonntag = 0 oder 7)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * Befehl
Beispiel:
bashKopierenBearbeiten0 3 * * * /home/user/backup.sh
→ Führt das Skript jeden Tag um 3:00 Uhr aus.
🔧 4. Cronjob anlegen
- Editor öffnen:bashKopierenBearbeiten
crontab -e
- Job hinzufügen (z. B.):bashKopierenBearbeiten
0 12 * * 1 /home/user/cleanup.sh
→ Skript wird jeden Montag um 12:00 Uhr ausgeführt. - Änderungen werden automatisch gespeichert.
🔍 5. Cronjobs anzeigen, bearbeiten, löschen
Aktion | Befehl |
---|---|
Anzeigen | crontab -l |
Bearbeiten | crontab -e |
Löschen | crontab -r |
Für bestimmten Benutzer (als root) | crontab -u benutzername -l |
🧪 6. Beispiele für Cronjobs
Zeitplan | Bedeutung | Beispiel |
---|---|---|
* * * * * | Jede Minute | echo "Ping" |
0 */6 * * * | Alle 6 Stunden | Logrotate |
30 2 * * 7 | Jeden Sonntag 2:30 Uhr | Backup |
0 9-17 * * 1-5 | Jede Stunde 9–17 Uhr, Mo–Fr | Arbeitszeit |
📭 7. Cron-Output & Logs
Standardmäßig werden Ausgaben per Mail an den Benutzer gesendet (sofern Maildienst vorhanden). Alternativ:
bashKopierenBearbeiten* * * * * /script.sh >> /var/log/script.log 2>&1
>>
: Anhängen an Datei2>&1
: Fehlerausgabe zu Standardausgabe umleiten
Log prüfen (abhängig vom System):
bashKopierenBearbeitengrep CRON /var/log/syslog # Debian/Ubuntu
journalctl -u cron # systemd-Systeme
🛑 8. Mögliche Fehlerquellen
- Pfade stimmen nicht (absolute Pfade nötig!)
- Umgebungsvariablen fehlen (
$PATH
) - Ausführungsrechte fehlen (
chmod +x
) - Interaktive Befehle (z. B.
read
) funktionieren nicht
🛡️ 9. Sicherheitshinweise
- Skripte in sichere Verzeichnisse ablegen
- Keine sensiblen Daten in der Crontab
- Rechte mit
chmod
/chown
kontrollieren cron.allow
undcron.deny
nutzen für Benutzerverwaltung
📚 10. Weiterführende Links
- 📘 Ubuntu Cron Guide
- 🐧 Arch Wiki zu Cron
- 🎥 YouTube-Suche: „Cronjob Tutorial Linux“
Inhaltsverzeichnis
- 1 ⏰ Cronjobs unter Linux – Zeitgesteuerte Aufgaben automatisieren
- 1.1 📜 Inhaltsverzeichnis
- 1.2 🧠 1. Was ist ein Cronjob?
- 1.3 📂 2. Speicherort & Struktur
- 1.4 ⌛ 3. Syntax der Crontab
- 1.5 🔧 4. Cronjob anlegen
- 1.6 🔍 5. Cronjobs anzeigen, bearbeiten, löschen
- 1.7 🧪 6. Beispiele für Cronjobs
- 1.8 📭 7. Cron-Output & Logs
- 1.9 🛑 8. Mögliche Fehlerquellen
- 1.10 🛡️ 9. Sicherheitshinweise
- 1.11 📚 10. Weiterführende Links