Table des matières

, ,

Sauvegarder avec restic

Principales caractéristiques de restic :

Démarrage rapide

Dans cet exemple, pour se familiariser avec les principales commandes, on utilise un dépôt local.

restic intègre une aide en ligne :

restic help

Initialiser un dépôt

restic conserve les sauvegardes au sein d'un dépôt. On commence donc par en créer un :

restic --repo /home/yoann/backups/restic-repo init

A la création du dépôt un mot de passe est demandé. Ce mot de passe est important, il sera nécessaire pour toute interaction avec le dépôt.

Pour ne pas avoir à systématiquement préciser le dépôt à utiliser via l'option --repo, on pourra définir une variable d'environnement :

export RESTIC_REPOSITORY=/home/yoann/backups/restic-repo/

Sauvegarder

On peut faire créer sa première sauvegarde :

restic backup ~/Documents

restic désigne snapshots vos sauvegardes. Pour lister les snapshots présents dans le dépot :

restic snapshots

On ajoute un nouveau fichier au dossier ~/Documents, puis on simule une sauvegarde (avec l' option --dry-run)

echo "Hello World!" > ~/Documents/aNewFile.txt
 
restic backup ~/Documents/ --dry-run

restic détecte bien le nouveau fichier et indique que seulement celui-ci sera copié. On peut faire une nouvelle sauvegarde :

restic backup ~/Documents

Lister/rechercher dans le dépot

Pour lister l'ensemble des fichiers présents dans le snapshot le plus récent :

restic ls latest

Pour ne lister que le contenu d'un sous-dossier :

restic ls latest /home/yoann/Documents/factures

Pour rechercher un fichier dans les sauvegardes :

restic find "wishlist*"
 
# rechercher uniquement dans le dernier snapshot
resstic find "wishlist*" latest
 
# rechercher uniquement dans les snapshot désignés
restic find "wishlist*" 5e1ea3aa 4d22f100

La recherche est sensible à la casse de caractères. Utiliser l'option --ignore-case pour changer le comportement par défaut.

restic find --ignore-case "contrat*" latest

Restaurer

Par défaut la restauration reconstruit le chemin complet dans le répertoire destination (cible) :

# le fichier et les dossiers parents sont recréés sur la destination (taget)
restic restore latest --include /home/yoann/Documents/wishlist.txt --target /tmp

Dans le cas présenté ci-dessus le dossier /tmp contiendra après exécution /tmp/home/yoann/Documents/wishlist.txt.

Pour ne pas reconstruire l'ensemble de l’arborescence et restaurer seulement le fichier dans le répertoire cible, utiliser la syntaxe :

restic restore latest:/home/yoann/Documents/ --include "wishlist.txt" --target /tmp

De la même manière, pour restaurer le dossier /home/yoann/Documents/factures et son contenu dans le répertoire cible /tmp :

restic restore latest:/home/yoann/Documents --include factures --target /tmp/

Pour restaurer l'ensemble du snapshot :

restic restore latest --target /tmp/

Lors de la restauration dans le répertoire cible, restic reconstruit l'arborescence complète jusqu'au fichier.

Supprimer un snapshot

La suppression s'effectue en deux temps via les commandes forget puis prune.

forget et prune ont également une option d'exécution à blanc via l'argument --dry-run

restic forget latest --dry-run
 
restic forget latest
 
restic prune --dry-run

Après la commande prune on peut vouloir vérifier l'intégrité du dépôt.

Maintenance du dépôt

Il est recommandé de vérifier périodiquement l'état du dépôt :

restic check
restic check --read-data

Références