====== Mettre en place une sauvegarde avec Restic ======
===== Introduction =====
Restic est un outil de sauvegarde Open Source pour Linux. Simple à manier, il stocke les données sous forme de snapshots, c'est-à-dire sous forme d'image (à contrario de rsync ou rclone qui font une copie pure et dure de l'arboresense), et est compatible avec la plupart des fournisseurs Cloud et des protocoles de stockage.
===== Utilisation =====
==== Installation ====
Restic est présent dans les dépôts officiels de la plupart des distributions Linux modernes :
apt install restic
Il doit être installé sur la machine qui exécutera la sauvegarde, celle qui stocke les sauvegardes n'en n'a pas besoin.
==== Configurer un espace de stockage ====
L'espace où sera stocké les snapshots peut être local ou distant, et plusieurs méthodes de transfert sont possibles :
__1) Configurer un espace de stockage local (sur la même machine) :__
On crée d'abord un répertoire /backup à la racine, puis on indique à Restic son emplacement :
mkdir /backup
restic -r /backup init
Un mot de passe devra être défini pour l'espace de stockage.
{{ ::restic0.png |Configuration d'un espace de stockage local}}
__2) Configurer un espace de stockage distant via SFTP :__
Pour cela il faut indiquer à Restic l'utilisateur et le chemin qui seront utilisés sur la machine distante :
restic -r sftp:admlnx@192.168.0.202:/backup init
Un mot de passe devra être défini pour l'espace de stockage.
{{ ::restic1.png |Configuration d'un espace de stockage distant via SFTP}}
:!: Pour éviter d'avoir à saisir le mot de passe de l'utilisateur distant dans la console, on peut aussi utiliser la connexion par clé SSH.
__3) Configurer un espace de stockage dans le Cloud :__
[[https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html#rest-server|📖 Voir la documentation officielle de Restic]]
Restic va alors se charger de créer la sous-arborescence nécessaire pour stocker les snapshots
==== Sauvegarder ====
Pour lancer une sauvegarde, il suffit de préciser l'espace de stockage précédemment configuré puis l'emplacement des données à sauvegarder :
Ici, on veut sauvegarder le répertoire ''/home/admlnx'' :
restic -r sftp:admlnx@192.168.0.202:/backup backup /home/admlnx
{{ ::restic5.png |Lancer une sauvegarde avec Restic}}
:!: L'option ''--verbose'' permet d'afficher plus d'informations lors de la sauvegarde.
==== Lister les sauvegardes ====
Pour afficher les snapshots disponibles :
restic -r sftp:admlnx@192.168.0.202:/backup snapshots
{{ ::restic2.png |Affichage des snapshots disponibles}}
==== Restaurer une sauvegarde ====
Pour restaurer le dernier snapshot en date, on précise d'abord l'espace de stockage, la fonction "restore", puis le chemin où seront restaurées les données :
restic -r sftp:admlnx@192.168.0.202:/backup restore latest --target /home/admlnx
{{ ::restic6.png |Restauration de la dernière sauvegarde}}
Pour restaurer un autre snapshot dans la liste, à la place de "latest" on précise l'ID du snapshot (visible dans la liste) :
restic -r sftp:admlnx@192.168.0.202:/backup restore 03e80ffd -target /home/admlnx
{{ ::restic7.png |Restauration d'une sauvegarde}}
==== Supprimer une sauvegarde ====
La suppression d'une sauvegarde se fait en 2 temps. D'abord, il faut utiliser la fonction "forget" et préciser l'ID du snapshot concernée pour la retirer de la liste :
restic -r sftp:admlnx@192.168.0.202:/backup forget 03e80ffd
{{ ::restic8.png |Suppression d'une sauvegarde de la liste}}
Ensuite, on utilise la fonction "prune" pour supprimer les fichiers de l'espace de stockage :
restic -r sftp:admlnx@192.168.0.202:/backup prune
{{ ::restic9.png |Suppression des sauvegardes "oubliées" de l'espace de stockage}}
==== Gérer les accès au dépôt ====
On peut défini plusieurs mots de passes pour accèder à l'espace de stockage (pour faire comme du multi-utilisateurs).
Pour afficher les mots de passes configurés :
restic -r sftp:admlnx@192.168.0.202:/backup key list
{{ ::restic3.png |Supprimer un mot de passe Restic}}
Pour ajouter un nouveau mot de passe :
restic -r sftp:admlnx@192.168.0.202:/backup key add
Puis saisir le mot de passe que l'on souhaite ajouter.
{{ ::restic4.png |Supprimer un mot de passe Restic}}
Pour supprimer un mot de passe (bien préciser l'ID du mdp concerné sinon ça ne marche pas) :
restic -r sftp:admlnx@192.168.0.202:/backup key remove 3b40ac40
{{ ::restic10.png |Supprimer un mot de passe Restic}}
==== Vérifier l'intégrité des snapshots ====
Commande pour vérifier que l'espace de stockage est intègre et qu'il n'y a pas de problème avec les snapshots :
restic -r sftp:admlnx@192.168.0.202:/backup check
{{ ::restic11.png |Vérifier l'intégrité de l'espace de stockage}}
===== Sources =====
[[https://korben.info/comment-sauvegardez-vos-fichiers-avec-restic.html|Sauvegarder ses fichiers avec Restic (Korben.info)]]
[[https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html|📖 Documentation officielle de Restic]]