Sauvegarder un VPS correctement
Une sauvegarde n'est utile que si elle permet de restaurer le service après une suppression, une panne ou une compromission. Copier un disque entier pendant que les services écrivent ne suffit pas, et une archive laissée sur le même VPS ne protège pas d'une perte de la machine. Cette procédure définit le contenu, produit des copies vérifiées et les place hors site.
Ce qu'il faut sauvegarder
Sauvegardez ce qui ne se recrée pas : /etc pour la configuration, /var/www et /srv pour le code et les données, /home pour les comptes, les dumps de bases, les crontabs, les unités systemd et les volumes Docker. Notez aussi les paquets installés :
dpkg --get-selections | sudo tee /var/backups/packages.txt >/dev/nullExcluez /proc, /sys, /dev, /run, /tmp, /var/cache et les journaux. Pour une base, un dump logique est préférable à une copie de fichiers à chaud : le dump est cohérent, la copie ne l'est pas.
Archive et synchronisation
sudo tar --one-file-system --acls --xattrs -czf /var/backups/etc-$(date +%F).tar.gz /etc
tar -tzf /var/backups/etc-$(date +%F).tar.gz | head--one-file-system évite d'embarquer un montage séparé ; --acls et --xattrs conservent les métadonnées. Vérifiez la liste et l'intégrité avec gzip -t avant de la déplacer. Pour une copie incrémentale de fichiers :
rsync -aHAX --numeric-ids --delete /var/www/ backup@serveur:/backups/vps/www/--delete supprime à distance ce qui a disparu localement : lancez d'abord avec --dry-run. -aHAX conserve liens, ACL et attributs étendus. Pour les bases, ajoutez un dump (mariadb-dump ou pg_dump) avant la synchronisation, jamais une copie du fichier de données actif.
Règle 3-2-1 et chiffrement
Trois copies, deux supports, une hors site. Une copie sur le même VPS ne protège ni d'une panne disque ni d'une suppression accidentelle. Chiffrez avant l'envoi avec age ou gpg, et gardez la clé hors du serveur sauvegardé : une sauvegarde illisible en cas de sinistre n'a aucune valeur.
Automatiser et tester
Un script /usr/local/sbin/backup-vps.sh avec set -eu, flock, dump des bases, archive, rsync, puis purge selon l'âge. Planifiez-le avec cron ou un timer systemd et consultez le journal. Testez chaque mois : téléchargez une archive, décompressez-la dans /tmp, restaurez un fichier et importez un dump dans une base jetable. Mesurez du -sh et vérifiez l'espace libre avant l'envoi.
Les sauvegardes incluses dans l'offre VPS sont un filet, pas un plan complet : elles ne remplacent pas une copie hors site testée. Avant une réinstallation ou une migration, faites une sauvegarde manuelle et vérifiez-la.
Publicité
Cet article vous a-t-il aidé ?
À lire aussi
- 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.
- Restaurer une sauvegarde de VPSRemettre en place fichiers et bases de données sans casser les permissions ni écraser l'état actuel.
- Installer Python et un environnement virtuelCréer un environnement virtuel Python, y installer les dépendances et lancer l'application avec systemd.