Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Comment sauvegarder vos fichiers avec Restic ?

Il y’a quelques semaines, je vous ai parlé de RClone qui permet de synchroniser des répertoires via des services de cloud tels que Dropbox, Google Drive, Amazon S3 ou sur vos propres machines / serveurs.

Je vous ai déjà également parlé de Borg et Backup Manager. Et aujourd’hui on va tester un nouveau truc qui s’appelle Restic.

Restic n’est pas vraiment un outil de synchronisation comme RClone, mais plutôt un outil qui permet de faire des sauvegardes sous forme de snapshot (object storage FTW ! ou pas).

En passant, je ne sais pas si vous avez vu mais l’hébergeur Hostinger propose des offres super intéressantes en matière d’hébergement web. C’est pas trop cher pour démarrer et s’auto-héberger. (Lien affilié)

Restic, disponible sous Linux, macOS et Windows, permet de créer dépôts soit locaux, soit distants, c’est-à-dire via SFTP, serveur REST, Amazon S3, Serveur Minio, Openstack, Backblaze B2, Azure (Blob Storage), Google Cloud Storage et également l’ensemble des services supportés par RClone.

Donc cela veut dire que vous pouvez « augmenter » Restic avec RClone pour qu’il envoie vos sauvegardes sur un Dropbox.

Enfin, niveau sécurité, Restic fonctionne avec un système de clé de chiffrement.

Comment installer Restic ?

Pour installer Restic, je vous renvoie à cette page, mais vous pouvez faire sous Ubuntu un

sudo apt install restic 

ou sous macOS un

brew install restic

Je vais faire un petit tuto de mise en bouche rapide pour vous montrer comment créer un dépôt local et je vous encourage ensuite à lire la documentation qui est très claire pour faire la même chose sur des dépôts distants.

Comme créer un dépôt Restic ?

restic init --repo /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC

Restic va alors vous demander un mot de passe pour chiffrer et sécuriser votre dépôt.

Logo de Restic pour l'article sur la sauvegarde de fichiers

Ensuite, je vais vous montrer comment créer votre premier snapshot local.

Comment faire une sauvegarde ?

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC --verbose backup ~/EMPLACEMENT/DES/FICHIERS/A/SAUVEGARDER   

Sachez qu’il est possible d’exclure certains fichiers de la sauvegarde, mais également d’en agréger d’autres, situés à d’autres emplacements.

Capture d'écran de la page d'accueil de Restic

Évidemment, vous pouvez faire vos sauvegardes sur des emplacements distants (S3, Backblaze, Google Cloud…etc.). Je ne rentre pas dans les détails, et je vous invite à lire la doc.

Comment lister les snapshots ?

Pour lister toutes vos sauvegardes, faites simplement :

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC snapshots  
Exemple de commande de sauvegarde avec Restic

Comment restaurer une sauvegarde avec Restic ?

Pour restaurer votre dernier backup, il suffit d’utiliser le paramètre latest.

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC restore latest --target /EMPLACEMENT/OÙ/RESTAURER/VOS/FICHIERS 
Diagramme montrant comment fonctionne Restic

Et pour remonter un peu plus loin dans le temps, avec un snapshot spécifique, il suffit d’indiquer son ID comme ceci :

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC ID-DU-SNAPSHOT latest --target /EMPLACEMENT/OÙ/RESTAURER/VOS/FICHIERS 

Comment supprimer un snapshot ?

Vous pouvez déjà « l’oublier » avec le paramètre « forget ».

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC forget ID-DU-SNAPSHOT

Mais attention, cela ne supprimera pas tout de suite les fichiers liés dans l’object storage. Pour vraiment purger les snapshots retirés, il faudra utiliser la commande « prune ».

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC prune

Vous pouvez évidemment combiner ces paramètres, mais également mettre en place une politique automatisée de purge. Je vous invite à lire cette page pour plus d’infos.

Comment lister les autorisations d’accès aux dépôts ?

Et bien il suffit de faire un petit :

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC key list
Illustration montrant la différence entre une sauvegarde complète et une sauvegarde incrémentale

Comment ajouter ou supprimer une autorisation ?

Pour cela, vous pouvez utiliser le paramètre « add » :

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC add
Image montrant l'interface de restauration de fichiers avec Restic

ou « remove »

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC remove

ou encore « passwd » pour modifier un mot de passe.

restic -r /EMPLACEMENT/DE/VOTRE/DEPOT/RESTIC passwd

Et après ?

Et bien maintenant que vous avez les bases, y’a plus qu’à automatiser tout ça à grand coup de CRON ou de scripts pour que vos sauvegardes se passent d’intervention humaine. Pensez quand même à faire des tests de restauration de temps en temps.


Les articles du moment