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.

Prêt à vous lancer ?

Choisissez vos applications et récupérez une installation complète.

Créer mon serveur