Sauvegardes « vertes » mais restauration impossible
```text gzip: stdin: unexpected end of file tar: Unexpected EOF in archive pg_restore: error: input file does not appear to be a valid archive ```
Détecter
Lors d'un incident (suppression accidentelle), la restauration échoue alors que le tableau de bord des sauvegardes est vert depuis des mois.
Symptômes
Lors d'un incident (suppression accidentelle), la restauration échoue alors que le tableau de bord des sauvegardes est vert depuis des mois.
Environnement
Scripts de sauvegarde nocturnes (archive tar + dump de base) vers un NAS, supervision basée sur le code retour du script.
Cause racine
Le script renvoyait 0 même quand une étape échouait (pas de set -euo pipefail), les archives étaient tronquées faute d'espace, la clé de chiffrement n'était stockée que sur le serveur sauvegardé, et aucun test de restauration n'avait jamais été réalisé.
Diagnostic
- Vérifier l'intégrité :
gzip -t,tar -tzf,pg_restore --list, sommes de contrôle. - Parcourir l'historique pour trouver la dernière sauvegarde valide.
- Contrôler l'accès aux clés et la documentation de restauration.
Solution
Restaurer depuis la dernière sauvegarde valide, puis corriger la chaîne : script strict, vérification d'intégrité après chaque sauvegarde, clés séquestrées hors du système, copie 3-2-1 avec une copie immuable.
Commandes
set -euo pipefail
tar -czf "$DST/app-$(date +%F).tar.gz" /srv/app && gzip -t "$DST/app-$(date +%F).tar.gz"
sha256sum "$DST"/*.tar.gz > "$DST/SHA256SUMS"
restic check --read-data-subset=5%
Prévention
Tests de restauration planifiés (mensuels) avec mesure du RTO réel, métrique « dernière restauration testée », règle 3-2-1-1-0, runbook de restauration à jour.