# Backup Scheduling: Zeitplanung & Cron-Orchestrierung im Rechenzentrum
TL;DR / Management Summary Ein schlechtes Backup-Scheduling führt zu Ressourcen-Konflikten, bei denen sich Backups gegenseitig die Bandbreite stehlen oder die Produktion während der Kernarbeitszeit lahmlegen. Wir nutzen eine intelligente Verteilung der Startzeiten (Staggering) und koordinieren Wartungsfenster. Ein Senior Admin nutzt unter Linux Cron oder Systemd-Timers und unter Windows den Task Scheduler, achtet aber darauf, dass Jobs niemals überlappen und genug Puffer für Konsistenz-Prüfungen bleibt.
# 1. Einführung & Die ‘Golden Rules’
Ordnung im Zeitplan.
- Backup Window: Definieren Sie ein Zeitfenster, in dem die Produktion minimal belastet wird (meist 22:00 bis 06:00 Uhr).
- Job Staggering: Starten Sie Jobs versetzt (z.B. alle 15 Minuten), um Lastspitzen beim Snapshot-Erstellen zu vermeiden.
- Priorisierung: Sichern Sie die wichtigsten Server (DCs, SQL) zuerst, damit im Fehlerfall mehr Zeit für manuelle Intervention bleibt.
# 2. Linux Scheduling: Cron & Systemd
Präzision in der Shell.
# 1. Der klassische Cron-Job
Ideal für einfache Skripte (z.B. Borg oder rsync).
# /etc/crontab
0 2 * * * root /usr/local/bin/backup_script.sh >> /var/log/backup.log 2>&1
- Tipp: Nutzen Sie
flock, um zu verhindern, dass ein Job startet, wenn der vorherige noch läuft.
# 2. Systemd Timers (Modern)
Bietet besseres Logging und Abhängigkeiten.
- Vorteil: Sie können festlegen, dass das Backup erst startet, wenn das Netzwerk online ist oder ein bestimmter Mountpoint existiert.
# 3. Deep Dive: Backup Window vs. Change Rate
Die Zeit gegen die Daten.
Wenn Ihr Backup-Fenster 8 Stunden beträgt, Sie aber 10 TB sichern müssen:
- Analyse:
10 TB / 8h = 1.25 TB/h(ca. 350 MB/s permanent). - Lösung: Wenn Ihr Netzwerk nur 1 Gbit/s (110 MB/s) hergibt, wird das Fenster niemals reichen. Sie müssen auf Inkrementelle Backups (Artikel 628) umstellen oder die Hardware aufrüsten.
# 4. Day-2 Operations: Feiertags- & Wartungs-Scheduling
Wenn die Routine pausiert.
# Wartungsfenster
Stoppen Sie automatisierte Backups während geplanter Hardware-Wartungen oder Migrationen, um Fehlalarme zu vermeiden.
- Aktion: Nutzen Sie “Blackout Windows” in Ihrer Backup-Software.
# 5. Troubleshooting & “War Stories”
Wenn die Uhr falsch tickt.
# Top 3 Fehlerbilder
-
Symptom: Backups schlagen montags morgens fehl.
- Ursache: Das Full-Backup am Wochenende hat länger gedauert als erwartet und kollidiert mit dem ersten Inkrement am Montag.
- Lösung: Erhöhen Sie den Abstand zwischen Full- und Inkrement-Jobs oder nutzen Sie Synthetic Fulls (Artikel 629).
-
Symptom: Hohe Latenz für User um 8:00 Uhr morgens.
- Ursache: Backup-Jobs laufen noch (“Backup Overrun”).
- Fix: “Kill-Window” definieren. Ein Job muss abgebrochen werden, wenn er das Zeitlimit überschreitet.
-
Symptom: Cron-Job läuft nicht, obwohl die Syntax stimmt.
- Ursache: Fehlende absolute Pfade im Skript (Cron hat eine minimale PATH-Umgebung).
# “War Story”: Der “Double-Backup” Tod
Ein Admin sicherte seine SQL-Datenbank um 23:00 Uhr via Task Scheduler und gleichzeitig die gesamte VM um 23:05 Uhr via Proxmox. Das Ergebnis: Der VM-Snapshot fror die VM ein (Stun), während das interne SQL-Backup gerade die Datenbank-Dateien sperrte. Die VM stürzte ab und die Datenbank war korrupt. Lehre: Koordinieren Sie Applikations-Backups und Infrastruktur-Backups. Lassen Sie mindestens 30-60 Minuten Puffer dazwischen.
# 6. Monitoring & Reporting
Zeitpläne auditieren.
# Dashboard Gantt-Chart
Visualisieren Sie Ihre Backup-Jobs in einem Gantt-Chart.
- KPI: Überlappungs-Rate. Ziel: 0%.
- KPI: Durchschnittliche Dauer pro Job.
# 7. Fazit & Empfehlung
Ein durchdachter Zeitplan ist so wichtig wie die Backup-Software selbst.
- Empfehlung: Nutzen Sie eine zentrale Orchestrierung (wie PBS oder Veeam), anstatt hunderte einzelne Cron-Jobs auf verschiedenen Servern zu pflegen.
- Wichtig: Prüfen Sie nach jeder Zeitumstellung (Sommer/Winter), ob Ihre kritischen Jobs noch in den gewünschten Fenstern laufen.
# Anhang: Cheatsheet (Cron Syntax)
| Syntax | Bedeutung |
|---|---|
0 2 * * * |
Täglich um 02:00 Uhr |
0 2 * * 0 |
Wöchentlich (Sonntag) um 02:00 Uhr |
*/15 * * * * |
Alle 15 Minuten (für Logs) |
@reboot |
Direkt nach dem Systemstart |