Aller plus loin
Sauvegarder son serveur avec restic, simplement et sûrement
Mis à jour le 3 octobre 2026 · 9 min de lecture
Un disque qui lâche, une mauvaise commande, un piratage, un incendie dans le datacenter (c’est déjà arrivé) : tôt ou tard, vous aurez besoin d’une sauvegarde. La seule question est : sera-t-elle là ?
La règle 3-2-1
- 3 copies de vos données ;
- sur 2 supports différents ;
- dont 1 dans un autre lieu.
La sauvegarde nocturne de Mon serveur, dans /opt/backups, protège contre les erreurs de
manipulation. Mais elle est sur le même serveur : si celui-ci disparaît, elle disparaît avec lui. Il faut une copie
ailleurs.
Où envoyer ses sauvegardes ?
- Un serveur à la maison (Raspberry Pi, NAS, vieux PC) ;
- un stockage en ligne compatible S3 ou SFTP, chez un autre hébergeur que votre VPS ;
- un deuxième VPS, chez un autre fournisseur.
Pourquoi restic ?
restic est l’outil de sauvegarde de référence :
- chiffré : la destination ne peut pas lire vos données ;
- dédupliqué : seules les modifications sont envoyées, chaque sauvegarde est rapide et légère ;
- historique : vous pouvez revenir à l’état d’hier, de la semaine dernière ou du mois dernier ;
- compatible avec SFTP, S3, Backblaze B2 et bien d’autres.
1. Installer restic
sudo apt install -y restic
2. Créer le dépôt de sauvegarde
Exemple avec un serveur à la maison joignable en SSH (sauvegarde@ma-maison). Créez d’abord un mot de passe de
chiffrement, et notez-le dans votre gestionnaire de mots de passe : sans lui, les sauvegardes sont illisibles.
sudo mkdir -p /root/.restic
openssl rand -base64 32 | sudo tee /root/.restic/password
sudo chmod 600 /root/.restic/password
Puis initialisez le dépôt :
sudo restic -r sftp:sauvegarde@ma-maison:/srv/sauvegardes/vps --password-file /root/.restic/password init
3. Sauvegarder
Les bases de données doivent être copiées dans un état cohérent. Le plus simple : arrêter brièvement chaque application pendant la sauvegarde, comme le fait le script de Mon serveur.
#!/usr/bin/env bash
# /usr/local/bin/sauvegarde-restic
set -uo pipefail
export RESTIC_REPOSITORY="sftp:sauvegarde@ma-maison:/srv/sauvegardes/vps"
export RESTIC_PASSWORD_FILE=/root/.restic/password
for d in /opt/stacks/*/; do docker compose --project-directory "$d" stop; done
restic backup /opt/stacks --tag nuit
for d in /opt/stacks/*/; do docker compose --project-directory "$d" start; done
# Garde 7 sauvegardes quotidiennes, 4 hebdomadaires et 6 mensuelles
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune
Rendez-le exécutable (sudo chmod 700 /usr/local/bin/sauvegarde-restic) et programmez-le chaque nuit, par exemple
avec sudo crontab -e :
30 3 * * * /usr/local/bin/sauvegarde-restic >> /var/log/sauvegarde-restic.log 2>&1
4. Tester la restauration
Une sauvegarde jamais testée n’est qu’un espoir. Une fois par trimestre :
export RESTIC_REPOSITORY="sftp:sauvegarde@ma-maison:/srv/sauvegardes/vps"
export RESTIC_PASSWORD_FILE=/root/.restic/password
sudo -E restic snapshots # liste des sauvegardes
sudo -E restic restore latest --target /tmp/test-restauration # restaure la dernière
ls /tmp/test-restauration/opt/stacks
5. Être prévenu en cas d’échec
Une sauvegarde qui échoue en silence pendant des mois, c’est le scénario catastrophe. Ajoutez une alerte : par exemple, une sonde « push » dans Uptime Kuma appelée à la fin du script, ou une notification ntfy.
Ce qu’il faut sauvegarder
| À sauvegarder | Inutile |
|---|---|
/opt/stacks (configurations, .env, données) |
Les images Docker (re-téléchargeables) |
| Vos fichiers personnels éventuels | Le système (réinstallable en 5 minutes) |
Avec /opt/stacks et le mot de passe restic, vous pouvez reconstruire tout votre serveur sur une machine neuve.