Outils pour utilisateurs

Outils du site


software:applications:restic:000_restic

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
software:applications:restic:000_restic [2026/07/20 16:31] – créée yoannsoftware:applications:restic:000_restic [2026/07/21 19:45] (Version actuelle) yoann
Ligne 25: Ligne 25:
 </code> </code>
  
-restic conserve les sauvegardes au sein d'un dépôt qu'il nous faut initialiser :+==== Initialiser un dépôt ==== 
 + 
 +restic conserve les sauvegardes au sein d'un dépôt. On commence donc par en créer un :
  
 <code bash> <code bash>
Ligne 33: Ligne 35:
 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. 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éçiser le dépôt à utiliser via l'option ''%%--repo%%'', on pourra définir une variable d'environnement :+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 :
  
 <code bash> <code bash>
 export RESTIC_REPOSITORY=/home/yoann/backups/restic-repo/ export RESTIC_REPOSITORY=/home/yoann/backups/restic-repo/
 </code> </code>
 +
 +
 +==== Sauvegarder ====
  
 On peut faire créer sa première sauvegarde : On peut faire créer sa première sauvegarde :
 +
 <code bash> <code bash>
 +restic backup ~/Documents
 +</code>
  
 +
 +restic désigne snapshots vos sauvegardes. Pour lister les snapshots présents dans le dépot :
 +
 +<code bash>
 +restic snapshots
 </code> </code>
 +
 +
 +On ajoute un nouveau fichier au dossier ''~/Documents'', puis on simule une sauvegarde (avec l' option ''%%--dry-run%%'')
 +
 +<code bash>
 +echo "Hello World!" > ~/Documents/aNewFile.txt
 +
 +restic backup ~/Documents/ --dry-run
 +</code>
 +
 +restic détecte bien le nouveau fichier et indique que seulement celui-ci sera copié. On peut faire une nouvelle sauvegarde :
 +
 +<code bash>
 +restic backup ~/Documents
 +</code>
 +
 +==== Lister/rechercher dans le dépot ====
 +
 +Pour lister l'ensemble des fichiers présents dans le snapshot le plus récent :
 +
 +<code bash>
 +restic ls latest
 +</code>
 +
 +Pour ne lister que le contenu d'un sous-dossier :
 +
 +<code bash>
 +restic ls latest /home/yoann/Documents/factures
 +</code>
 +
 +
 +Pour rechercher un fichier dans les sauvegardes :
 +
 +<code bash>
 +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
 +</code>
 +
 +La recherche est sensible à la casse de caractères. Utiliser l'option ''%%--ignore-case%%'' pour changer le comportement par défaut.
 +
 +<code bash>
 +restic find --ignore-case "contrat*" latest
 +</code> 
 +
 +==== Restaurer ====
 +
 +
 +Par défaut la restauration reconstruit le chemin complet dans le répertoire destination (cible) :
 +
 +<code bash>
 +# le fichier et les dossiers parents sont recréés sur la destination (taget)
 +restic restore latest --include /home/yoann/Documents/wishlist.txt --target /tmp
 +</code>
 +
 +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 :
 +
 +<code bash>
 +restic restore latest:/home/yoann/Documents/ --include "wishlist.txt" --target /tmp
 +</code>
 +
 +
 +De la même manière, pour restaurer le dossier ''/home/yoann/Documents/factures'' et son contenu dans le répertoire cible ''/tmp'' :
 +
 +<code bash>
 +restic restore latest:/home/yoann/Documents --include factures --target /tmp/
 +</code>
 +
 +
 +Pour restaurer l'ensemble du snapshot :
 +
 +<code bash>
 +restic restore latest --target /tmp/
 +</code>
 +
 +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''.
 +  * La commande forget supprime les références vers les données mais pas les données-elles même qui restent dans le dépôt. Cette opération est rapide.
 +  * L'opération prune conduit à la suppression des données non référencées présentes dans le dépôt. Cette opération est plus longue et pendant qu'elle s'effectue, le dépôt n'est pas accessible.
 +
 +''forget'' et ''prune'' ont également une option d'exécution à blanc via l'argument ''%%--dry-run%%''
 +
 +<code bash>
 +restic forget latest --dry-run
 +
 +restic forget latest
 +
 +restic prune --dry-run
 +</code>
 +
 +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 :
 +
 +<code bash>
 +restic check
 +restic check --read-data
 +</code>
 +
 +
  
 ===== Références ===== ===== Références =====
software/applications/restic/000_restic.1784565102.txt.gz · Dernière modification : 2026/07/20 16:31 de yoann