Restaurer une sauvegarde de VPS
Une sauvegarde ne protège que si la restauration fonctionne. Le jour où vous en avez besoin, vous êtes souvent sous pression : un service est tombé, une mise à jour a cassé une configuration. Cette procédure part d'une archive locale ou d'une sauvegarde du dashboard et remet le service en état, étape par étape, sans écraser ce qui pourrait encore servir.
Vérifier l'archive avant de toucher au serveur
Commencez par contrôler ce que vous allez restaurer. Une archive tronquée ou d'une autre date ne fera qu'ajouter de la confusion.
sudo ls -lh /root/sauvegarde-2026-11-01.tar.gz
sudo sha256sum /root/sauvegarde-2026-11-01.tar.gz
sudo tar -tzf /root/sauvegarde-2026-11-01.tar.gz | head -n 20Comparez l'empreinte avec celle enregistrée au moment de la sauvegarde. Parcourez la liste des chemins : vous devez reconnaître /var/www, /etc/nginx ou l'application concernée. Vérifiez enfin l'espace libre avec df -h / : il faut de la place pour l'archive et pour les fichiers extraits.
Conservez l'état actuel avant de le remplacer. Renommer un dossier coûte quelques secondes et évite une perte définitive :
sudo mv /var/www/mon-site /var/www/mon-site.avant-restaurationRestaurer les fichiers
Arrêtez d'abord le service qui écrit dans les fichiers concernés. Pour un site statique, Nginx peut rester actif ; pour une application, coupez-la.
sudo systemctl stop mon-app
sudo tar -xzpf /root/sauvegarde-2026-11-01.tar.gz -C /L'option -p restaure les permissions et les propriétaires lorsque l'extraction est faite en root. Si l'archive a été créée avec des chemins relatifs, extrayez-la dans le bon parent. Pour un seul dossier, rsync est plus sélectif :
sudo rsync -aHAX --numeric-ids /root/restauration/var/www/mon-site/ /var/www/mon-site/La barre oblique finale sur la source signifie « le contenu de », pas le dossier lui-même.
Restaurer une base de données
Recréez la base si elle n'existe plus, puis importez le dump. Un dump pris avec --single-transaction est cohérent sans bloquer les écritures au moment de la sauvegarde.
sudo mysql -e "CREATE DATABASE IF NOT EXISTS base CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
gunzip < /root/base-2026-11-01.sql.gz | sudo mysql baseSur une grosse base, testez d'abord l'import dans une base temporaire et comparez le nombre de lignes des tables principales avant de remplacer la production.
Vérifier le service
Redémarrez et contrôlez trois niveaux : le processus, le réseau, l'application.
sudo systemctl start mon-app
sudo systemctl status mon-app --no-pager
sudo journalctl -u mon-app -n 50 --no-pager
curl -sS -o /dev/null -w '%{http_code}\n' https://votre-domaine.fr/Ouvrez ensuite l'application et faites une écriture réelle : connexion, envoi de formulaire, téléversement. Vérifiez les permissions des fichiers web (644 pour les fichiers, 755 pour les dossiers) et le propriétaire attendu par le serveur web.
Bonnes pratiques
- Restaurez avec la même version majeure du logiciel et du SGBD que celle de la sauvegarde.
- Testez une restauration complète sur un dossier de staging au moins une fois par trimestre.
- Chiffrez les archives qui contiennent des secrets, puis copiez-les hors du VPS : une archive stockée uniquement sur la machine qu'elle protège ne survit pas à une réinstallation.
- Notez la date, le contenu et l'emplacement de chaque sauvegarde dans un fichier suivi, pas de mémoire.
Publicité
Cet article vous a-t-il aidé ?
À lire aussi
- Sauvegarder un VPS correctementDéfinir quoi sauvegarder sur un VPS, produire des archives vérifiées et appliquer la règle 3-2-1.
- Créer un point de restauration avant une mise à jourCe qu'il faut sauvegarder avant une montée de version, et comment revenir en arrière si le service ne repart pas.
- Configurer un accès SFTP sécuriséOuvrir un accès SFTP limité à un dossier avec chroot, sans donner de shell ni de droits root.