⚙️ 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:
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 |