Sauvegardes Restic : chiffrées, incrémentales et prêtes pour le cloud
Une stratégie de sauvegarde fiable repose sur trois piliers : chiffrement, automatisation et confiance dans la restauration. Restic couvre ces besoins avec une CLI légère et de nombreux backends compatibles.
Ce tutoriel propose une base opérationnelle pour serveurs et petites équipes infrastructure.
1) Installer Restic
Sur Ubuntu/Debian :
sudo apt update
sudo apt install restic -y
restic version
2) Configurer les identifiants du dépôt
Pour des jobs non interactifs, utilisez des variables d’environnement :
export RESTIC_REPOSITORY=s3:https://s3.us-east-1.amazonaws.com/my-restic-bucket
export RESTIC_PASSWORD='use-a-strong-passphrase'
export AWS_ACCESS_KEY_ID='...'
export AWS_SECRET_ACCESS_KEY='...'
Pour un dépôt local :
export RESTIC_REPOSITORY=/backup/restic-repo
export RESTIC_PASSWORD='use-a-strong-passphrase'
Initialisez le dépôt :
restic init
3) Créer le premier snapshot
restic backup /etc /var/www /home
Lister les snapshots :
restic snapshots
4) Appliquer une politique de rétention
Exemple équilibré :
restic forget --prune \
--keep-last 10 \
--keep-daily 14 \
--keep-weekly 8 \
--keep-monthly 12
Cette politique limite la croissance tout en conservant des points de reprise utiles.
5) Vérifier l’intégrité du dépôt
Contrôle rapide :
restic check --read-data-subset=5%
Contrôle complet périodique :
restic check
6) Test de restauration (indispensable)
Restaurez un fichier ciblé depuis le snapshot le plus récent :
restic restore latest --target /tmp/restore-test --include /etc/nginx/nginx.conf
Validez contenu, permissions et délai de récupération.
7) Automatiser avec systemd
Service /etc/systemd/system/restic-backup.service :
[Unit]
Description=Restic Backup Job
[Service]
Type=oneshot
EnvironmentFile=/etc/restic/env
ExecStart=/usr/bin/restic backup /etc /var/www /home
ExecStartPost=/usr/bin/restic forget --prune --keep-last 10 --keep-daily 14 --keep-weekly 8 --keep-monthly 12
Timer /etc/systemd/system/restic-backup.timer :
[Unit]
Description=Run Restic backup daily
[Timer]
OnCalendar=*-*-* 02:15:00
Persistent=true
[Install]
WantedBy=timers.target
Activer le timer :
sudo systemctl daemon-reload
sudo systemctl enable --now restic-backup.timer
sudo systemctl list-timers | grep restic
Bonnes pratiques
- Stocker le mot de passe de dépôt dans un coffre de secrets
- Séparer les credentials backup des credentials applicatifs
- Conserver une copie immuable/hors ligne contre le ransomware
- Documenter un runbook de restauration par priorités
Conclusion
Restic fournit des fondamentaux de protection de données robustes avec une complexité limitée. En automatisant snapshots, rétention, contrôles d’intégrité et tests de restauration, vous obtenez un socle de continuité fiable.
Le facteur décisif reste la discipline opérationnelle : un backup doit être observable, testé et réellement restaurable.