# Unraid User Scripts fuer Restore-Checks ## Ziel Diese Vorlagen binden die validierten Restore-Checks in Unraid User Scripts ein. Host-Repo-Pfad: ```text /mnt/user/services/homelab ``` ## Script 1 - `restore-freshness-weekly` Zeit: - Montag, 06:30 Inhalt: ```bash #!/bin/bash pwsh -File /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.ps1 -Mode freshness \ > /mnt/user/backups/restore-reports/freshness-$(date +%F).md ``` Erwartung: - prueft Dump-Frische - prueft Report-Frische - startet keine Container ## Script 2 - `restore-vaultwarden-monthly` Zeit: - 1. Samstag im Monat, 07:00 V1-Inhalt: ```bash #!/bin/bash pwsh -File /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.ps1 -Mode vaultwarden -WhatIf \ > /mnt/user/backups/restore-reports/vaultwarden-plan-$(date +%F).md ``` ## Script 3 - `restore-gitea-monthly` Zeit: - 3. Samstag im Monat, 07:00 V1-Inhalt: ```bash #!/bin/bash pwsh -File /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.ps1 -Mode gitea -WhatIf \ > /mnt/user/backups/restore-reports/gitea-plan-$(date +%F).md ``` ## Script 4 - `restore-paperless-bimonthly` Zeit: - jeder 2. Monat, 2. Samstag, 08:00 V1-Inhalt: ```bash #!/bin/bash pwsh -File /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.ps1 -Mode paperless -WhatIf \ > /mnt/user/backups/restore-reports/paperless-plan-$(date +%F).md ``` ## Warum V1 mit `-WhatIf` - keine unkontrollierten Restore-Laeufe im Cron - erst Host-Scheduler sauber verdrahten - spaeter gezielt auf echte Vollautomatik umstellen ## V2 Zielbild Spaeter werden die drei Restore-Scripts von Plan-/Scaffold-Modus auf echte Host-Ausfuehrung umgestellt: 1. Restore aus Borg 2. Testcontainer starten 3. Smoke-Test 4. Report schreiben 5. optional `ntfy` 6. Bereinigung ## Optionales `ntfy` Wrapper-Muster Wenn `ntfy` spaeter dazukommt, soll der Host-Job nur Erfolg/Fehler referenzieren, nicht den ganzen Report in die Nachricht kippen. Beispiel: ```bash #!/bin/bash REPORT="/mnt/user/backups/restore-reports/freshness-$(date +%F).md" if pwsh -File /mnt/user/services/homelab/ops/restore-tests/run-restore-checks.ps1 -Mode freshness > "$REPORT"; then echo "Restore freshness check ok: $REPORT" else echo "Restore freshness check failed: $REPORT" fi ```