Sauvegardes personnelles avec Restic
- 4 minutes de lecture
Ces derniers temps, j’ai mis fin à une histoire d’amour avec Debian qui aura duré près de trois ans. Pas que je n’aime plus le système, oh non, je le préfère toujours à sa cousine Ubuntu. Mais voilà, j’ai un attachement particulier à Archlinux depuis, wouh, au moins les bancs de l’école d’ingénieur où nous l’installions sur des machines virtuelles et où nous nous adonnions à la pratique du linux ricing pour passer le temps.
Après une expérimentation de Manjaro i3 entre 2019 et 2022 sur mon poste professionnel, je me suis convaincu qu’il me fallait retourner à l’essentiel. Au début du mois de septembre, j’ai réussi le portage de ma config Sway de Debian Trixie vers Archlinux. L’occasion parfaite pour requestionner mes pratiques en matière de sauvegarde de poste et de remplacer BorgBackup par Restic.
Prise en main éclair
J’ai lu plusieurs articles et avis au sujet de Restic. Je l’avais vite identifié comme un outil équivalent à BorgBackup, mais je ne m’étais pas pressé de le tester. Quelle erreur ! J’ai été déconcerté par la facilité d’utilisation, par son interface en ligne de commande claire et complète, et par sa documentation de qualité.
Pour avoir régulièrement vécu des dégâts sur des clés de mauvaise qualité avec ma pratique exotique sur BorgBackup, je m’étais penché sur la possibilité de sauvegarder vers un dossier distant avec SSH. J’ai du insisté deux bonnes heures à l’époque sans parvenir à quoique ce soit avec Borg.
Avec Restic, ce n’est pas moins de 13 types différents de dépôts supportés, dont le SFTP. Il ne m’en fallait pas plus pour tourner le dos à son homologue. La mise en place d’un dépôt est simplifiée à l’extrême :
set -x RESTIC_REPOSITORY "sftp:<server>:<directory>"
restic init
restic backup ~ \
--dry-run \
--exclude-file ~/.config/restic/excludes.txt
Je ne suis pas en reste avec une gestion poussée des stratégies de rétention des instantanés. Pour l’exemple, je maintiens une sauvegarde par semaine, pendant trois mois.
restic forget --prune --keep-within-weekly 3m
La technique d’exploration d’un instantané est identique à Borg, avec un montage FUSE sous Linux. Une fois encore, la documentation est limpide à ce sujet.
sudo install -o $USER -g $USER -d /mnt/restic
restic mount /mnt/restic
Planification avec systemd
Je me suis prêté au même jeu qu’avec BorgBackup sur ma précédente installation
Debian. En lieu et place de cron
, je planifie mes sauvegardes avec un timer
utilisateur pour déclencher une tâche deux fois par jour sur mes journées de
travail.
# ~/.config/systemd/user/restic.timer
[Unit]
Description=Daily Restic backup
Documentation=man:restic
[Timer]
OnCalendar=Mon..Fri 09:30
OnCalendar=Mon..Fri 16:30
Persistent=true
[Install]
WantedBy=timers.target
La tâche consiste à appeler restic
avec mon fichier d’exclusion, suivi d’une
purge des vieux instantanés présents sur le dépôt.
# ~/.config/systemd/user/restic.service
[Unit]
Description=Restic backup
[Service]
Type=oneshot
ExecStart=restic backup %h --exclude-file $RESTIC_EXCLUDE_FILE
ExecStartPost=restic forget --prune --keep-within-weekly 3m
Pour la configuration, je déclare les variables dans un fichier d’environnement
pour que restic
sache identifier et déchiffrer correctement les instantanés.
# ~/.config/environment.d/restic.conf
RESTIC_REPOSITORY=sftp:<server>:<directory>
RESTIC_PASSWORD_FILE=$HOME/.config/restic/pass
RESTIC_EXCLUDE_FILE=$HOME/.config/restic/excludes.txt
Pour armer la planification, il suffit de recharger systemd
.
systemctl --user daemon-reload
En exportant les bonnes variables dans votre shell, la consultation des instantanés se fait sobrement avec la commande suivante.
restic snapshots
repository 3db74709 opened (version 2, compression level auto)
ID Time Host Tags Paths Size
-----------------------------------------------------------------------------------
f7bb4fea 2025-09-16 11:50:18 florent-dalibo /home/florent 4.309 GiB
5a4dbf59 2025-09-19 09:30:01 florent-dalibo /home/florent 5.639 GiB
1012f0ab 2025-09-27 19:28:38 florent-dalibo /home/florent 5.871 GiB
629c2687 2025-10-03 09:30:00 florent-dalibo /home/florent 6.006 GiB
98b32adb 2025-10-08 10:00:08 florent-dalibo /home/florent 4.677 GiB
-----------------------------------------------------------------------------------
5 snapshots
Conclusion
Restic est un bon outil. Tellement bon, que la communauté Gnome l’utilise à présent comme backend pour l’interface Déjà Dup dans leur dernière version 49.0 sortie le mois dernier.
Pour ma part, tout se déroule bien depuis presque un mois. Il ne manque plus qu’à sécuriser le serveur distant qui fait office de dépôt avec ses propres sauvegardes ! Pour ce faire, j’envisage de mettre en place Restic sur la plupart des répertoires d’importances de mon serveur multimédia, en gardant bien en mémoire le principe 3-2-1 de la sauvegarde réussie.
Prenez soin de vos sauvegardes.