3.7 KiB
3.7 KiB
Restore Test Schedule
Ziel
Regelmaessige Restore-Tests mit wenig Handarbeit und klaren Nachweisen.
Intervalle
Woechentlich:
- Backup-/Dump-Frische pruefen
- keine echten Restore-Container starten
- pruefen:
- Dump-Dateien vorhanden
- Dump-Dateien nicht zu alt
- letzte Reports vorhanden
Monatlich:
vaultwardenMini-RestoregiteaMini-Restore, versetzt zum Vaultwarden-Lauf
Alle 2 Monate:
paperlessMini-Restore
Quartalsweise:
- Restore-/DR-Sanity-Check
immichRestore-Smoke-Test (DB + UI, ohne produktive Foto-Mounts; Erstlauf 2026-05-27 erfolgreich)- pruefen:
- Restore-Lab-Struktur
- Reports
- Skripte und Pfade
- Doku noch passend
Quartals-Belegung:
| Quartal | Mini-Restore | Sanity-Fokus |
|---|---|---|
| Q1 | paperless |
Tier-1-Reihenfolge, Posture-Check, Borg-Frische |
| Q2 | immich |
Komodo-Bootstrap, Gitea-Bundles, Secrets-Inventur |
| Q3 | mealie oder nextcloud |
DNS-Pfad und Cert-Expiry-Sicht |
| Q4 | vaultwarden oder gitea |
Externe Abhaengigkeiten, Hetzner, GitHub-Mirror |
Bestaetigte Mini-Restores: Vaultwarden, Gitea und Paperless am 2026-05-07; Immich am 2026-05-27; Paperless erneut am 2026-05-31.
Konkreter Kalender
- Jeden Montag, 06:30:
check-restore-freshness.sh
- Jeden 1. Samstag im Monat, 07:00:
vaultwarden
- Jeden 3. Samstag im Monat, 07:00:
gitea
- Jeden 2. Samstag in ungeraden Monaten, 08:00:
paperless
- Jeden 1. des Monats, 09:00:
monthly-random-restore.sh
- Quartalsweise am 1. Werktag des Quartals:
- DR-/Restore-Sanity-Check
- Quartalsweise am 2. Sonntag im zweiten Quartalsmonat, 08:30:
immich
Unraid User Scripts Cron
| Script | Cron | Bedeutung |
|---|---|---|
restore-freshness-weekly |
30 6 * * 1 |
jeden Montag 06:30 |
restore-vaultwarden-monthly |
0 7 1-7 * 6 |
erster Samstag im Monat 07:00 |
restore-gitea-monthly |
15 7 15-21 * 6 |
dritter Samstag im Monat 07:15 |
restore-paperless-bimonthly |
0 8 8-14 1,3,5,7,9,11 * |
zweiter Samstag in ungeraden Monaten 08:00 |
restore-immich-quarterly |
30 8 8-14 2,5,8,11 0 |
zweiter Sonntag in Feb/Mai/Aug/Nov 08:30 |
monthly-random-restore |
0 9 1 * * |
erster Kalendertag im Monat 09:00 |
Betriebsmodus
- V1:
- Bash-Jobs laufen hostseitig manuell oder per User Script
ntfyist optional und folgt nach stabiler Basis- Hermes wertet spaeter nur Reports aus
- V2:
- fester Host-Schedule
ntfybei Erfolg/Fehler- Hermes erzeugt Zusammenfassungen und Overviews
Automatisierung
Automatisch:
- Testpfad vorbereiten
- Restore in
restore-lab - Testcontainer
restoretest-*starten - Smoke-Test ausfuehren
- Markdown-Report schreiben
ntfyErfolg/Fehler senden- alte Testartefakte bereinigen
Manuell:
- neue Testfaelle einfuehren
- riskante oder produktionsnahe Sondertests
- Aenderungen an Restore-Logik
- Freigabe fuer den ersten echten Restore je Dienst
Ablage
- Quelle:
/mnt/user/backups/borg - Restore-Lab:
/mnt/user/backups/restore-lab - Reports:
/mnt/user/backups/restore-reports
Quartals-Sanity
Kurz pruefen:
docs/DISASTER_RECOVERY.mdPhase 1-5 passt noch zum Repo.docs/RESTORE_MATRIX.mdTier-Klassifizierung und letzte Restore-Erfolge stimmen.docs/SECRETS_MAP.mdenthaelt die noetigen Secret-Pfade ohne Werte.- Gitea-Bundles sind frisch und klonbar.
- GitHub-Mirror ist erreichbar und aktuell.
- ntfy-Testnachricht an
homelab-infokommt an. - Offline-Kopie der Borg-Passphrase ist auffindbar.
- Capacity-Stand passt zu
docs/CAPACITY_AND_LIFECYCLE.md.
Erfolgsregel
Ein Test gilt erst dann als erfolgreich, wenn:
- Restore abgeschlossen ist
- Testcontainer startet
- definierter Smoke-Test erfolgreich ist
- Report geschrieben wurde
Nur "Container laeuft" reicht nicht.