🚀 Lehrpfad 3: High-Performance & Parallelisierung

Bash 12: Cronjobs, Systemd & Logrotation

Meistere Linux Service-Automation: Baue unzerstörbare Hintergrunddienste mit Systemd Services & Timern, Cron-Jobs und sicherer Logrotation.

⚙️ 1. Enterprise Service Management mit Systemd

Systemd sorgt dafür, dass deine Hintergrunddienste nach Systemabstürzen, Reboots oder OOM-Kills automatisch neu gestartet werden:

# 🎯 Typische Unit-Struktur (/etc/systemd/system/api-worker.service):
[Unit]
Description=High-Throughput API Worker
After=network.target

[Service]
Type=simple
User=devops
ExecStart=/usr/local/bin/worker.sh
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

⏱️ 2. Zeitsteuerung: Cron vs. Systemd Timers

Während Cronjobs einfach einzurichten sind, bieten Systemd Timers echte Abhängigkeitsprüfung, detailliertes Logging via journalctl und Nachhol-Funktionen (Persistent=true) bei Server-Downtimes:

⏰ Didaktische Analogie: Wecker vs. Smarter Kalender-Assistent

Cron ist wie ein mechanischer Wecker auf dem Nachttisch: Wenn der Strom ausfällt (Server Offline), klingelt er einfach nicht und holt nichts nach.
Systemd Timer ist wie ein intelligenter Kalender-Assistent: Er registriert verpasste Termine während der Downtime und führt den Job sofort nach dem Systemstart aus!

📑 3. Cheat-Sheet: Services, Timers & Logs

Befehl / Komponente Syntax / Datei Funktion
crontab -e */5 * * * * cmd >> log 2>&1 Periodische Ausführung via Vixie-Cron
systemctl daemon-reload CLI-Befehl Lädt geänderte Unit-Dateien in Systemd neu
systemctl enable --now systemctl enable --now app.service Aktiviert Autostart und startet Dienst sofort
journalctl -u app -f CLI-Befehl Live-Stream der Logs einer Systemd Unit
logrotate /etc/logrotate.d/app Automatische Log-Archivierung und gzip-Komprimierung

🎯 Aufgaben & Checkliste in aufgabe.sh

💻 In Web-IDE öffnen → ← Zurück zu Bash 11 Weiter zu Bash 13 →