Restic¶
Restic est programme de sauvegarde.
Prérequis: installer restic. Sur Debian et dérivée, c'est simple:
apt install restic
Créer un dépôt de sauvegarde¶
Pour utiliser restic, il va falloir préparer un répertoire vide, créer normalement pour l'occasion.
On pourra utiliser un navigateur de fichier et créer un dossier classiquement, ou bien avec mkdir
mkdir /chemin-vers-depot/mon-dossier-de-save
Ensuite, on va utiliser l'option init afin de préparer le dossier au fonctionnement de restic.
restic init -r /chemin-vers-depot/mon-dossier-de-save
Il demandera un mot de passe à tapper 2 fois. Le dépôt est systématiquement chiffré !
Créer une sauvegarde¶
Une fois le dépôt préparer, on va pouvoir lancer une première sauvegarde. On utilisera l'option create
restic backup /home/user/Documents -r /chemin-vers-depot/mon-dossier-de-save
Lister les snapshots d'un dépôt de sauvegarde¶
Pour lister les snapshots d'un dépôt de sauvegarde, on utilisera l'option snapshots
restic snapshots /chemin-vers-depot/mon-dossier-de-save
Le resultat sera de la forme:
enter password for repository:
repository bdb1eabd opened (repository version 2) successfully, password is correct
ID Time Host Tags Paths
-------------------------------------------------------------------------------
e02e33fe 2025-05-05 11:12:24 pc-jo /home/jo/.config/vivaldi
/home/jo/.mozilla
/home/jo/.thunderbird
5aa25606 2025-05-05 11:13:22 pc-jo /home/jo/.config/vivaldi
/home/jo/.mozilla
/home/jo/.thunderbird
5bc2edd6 2025-05-05 11:13:39 pc-jo /home/jo/.config/vivaldi
/home/jo/.mozilla
/home/jo/.thunderbird
9c7277e3 2025-05-05 12:47:36 pc-jo /home/jo/.config/vivaldi
/home/jo/.mozilla
/home/jo/.thunderbird
-------------------------------------------------------------------------------
4 snapshots
Restaurer un fichier ou un dossier d'un backup¶
Après avoir lister le contenu, on peut extraire un fichier ou un dossier avec l'option restore
restic restore -r /chemin-vers-depot/mon-dossier-de-save 5aa25606 --include /chemin-vers-dossier/mon-fichier --target /mon-dossier/de-destination
- 5aa25606: ID présent dans la liste des snaphots
Monter/Démonter une sauvegarde dans un point de montage¶
Pour monter une sauvegarde dans un point de montage, on utilisera l'option mount
restic mount -r /chemin-vers-depot/mon-dossier-de-save /mnt/mon-point-de-montage
Pour démonter ce point de montage, c'est simple, on fera ctrl+c
- Le montage nous permettra de voir tous les snapshots
- La restauration par ce moyen sera plus lente
Rotation des sauvegardes¶
Pour la rotation, tout est prévu, on utilisera l'option forget (forget=oublier)
restic forget --keep-last 10 /chemin-vers-depot/mon-dossier-de-save
- --keep-last 10: Garde, ici, les 10 derniers backups
Maintenance des dépôts de sauvegarde¶
L'option forget permet uniquement de désindexer le snapshot, mais ça ne libère pas le stockage. Pour ça il faudra utiliser l'option prune
restic prune -r /chemin-vers-depot/
Vérification des dépôts de sauvegarde¶
restic check -r /chemin-vers-depot/
Exemple de script d'automatisation¶
#!/bin/bash
export RESTIC_PASSWORD="mon_mot_de_passe"
destination=/mnt/auto/coin-a-jojo-srv/save-mozilla-vivaldi
vivaldi=/home/jo/.config/vivaldi
firefox=/home/jo/.mozilla
thunderbird=/home/jo/.thunderbird
restic backup $vivaldi $firefox $thunderbird -r $destination
restic forget --keep-last 8 -r $destination
Sauvegarder tout un système complet¶
Pour faire une sauvegarde complète de la partition racine "/" d'un système linux on utilisera une option supplémentaire: --one-file-system. Cette option permettra de ne copier que les fichiers et dossiers utiles au fonctionnement du système. Elle exclura donc les dossiers: (/dev, /var, /mnt, /media, /pro,...)
restic backup --one-file-system / -r $destination
Il est possible d'exclure un répertoire ou des fichiers avec l'option: --exclude
exemple:
restic backup --one-file-system --exclude /var/lib/lxc --exclude /home/jo --exclude /var/lib/docker / -r /mon_dossier/de_destination
Voir la doc officiel: [https://restic.readthedocs.io/en/stable/index.html]