Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| software:applications:restic:000_restic [2026/07/20 21:04] – yoann | software:applications:restic:000_restic [2026/07/22 17:10] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| ====== Sauvegarder avec restic ====== | ====== Sauvegarder avec restic ====== | ||
| + | |||
| + | **restic** un programme en ligne de commande permettant de sauvegarder ses données. | ||
| + | |||
| Principales caractéristiques de **restic** : | Principales caractéristiques de **restic** : | ||
| - | * **Agnostic** : il existe sur les principaux systèmes d' | + | * **Agnostique** : il existe sur les principaux systèmes d' |
| * **Flexible** : il s' | * **Flexible** : il s' | ||
| * **Simple** : exécutable autonome sans dépendances de services ou de serveurs ; | * **Simple** : exécutable autonome sans dépendances de services ou de serveurs ; | ||
| Ligne 25: | Ligne 28: | ||
| </ | </ | ||
| - | restic conserve les sauvegardes au sein d'un dépôt. On commence donc par en créer un : | + | ==== Initialiser un dépôt ==== |
| + | |||
| + | restic conserve les sauvegardes au sein d'un dépôt. On commence donc par en créer un via la commande '' | ||
| <code bash> | <code bash> | ||
| Ligne 33: | Ligne 38: | ||
| 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éciser le dépôt à utiliser via l'option | + | Pour ne pas avoir à systématiquement préciser le dépôt à utiliser via l'argument |
| <code bash> | <code bash> | ||
| export RESTIC_REPOSITORY=/ | export RESTIC_REPOSITORY=/ | ||
| + | |||
| + | # Pour éviter de ressaisir le mot de passe | ||
| + | export RESTIC_PASSWORD=MyVeryGooooodPassWord | ||
| </ | </ | ||
| - | On peut faire créer sa première sauvegarde : | + | |
| + | ==== Sauvegarder ==== | ||
| + | |||
| + | On peut à présent | ||
| <code bash> | <code bash> | ||
| Ligne 46: | Ligne 57: | ||
| - | restic désigne snapshots vos sauvegardes. Pour lister les snapshots présents dans le dépot | + | restic désigne |
| <code bash> | <code bash> | ||
| Ligne 52: | Ligne 63: | ||
| </ | </ | ||
| + | Certaines commandes peuvent être exécutés "à blanc" via l' | ||
| On ajoute un nouveau fichier au dossier '' | On ajoute un nouveau fichier au dossier '' | ||
| Ligne 58: | Ligne 70: | ||
| echo "Hello World!" | echo "Hello World!" | ||
| + | # test la commande de sauvegarde | ||
| restic backup ~/ | restic backup ~/ | ||
| </ | </ | ||
| - | restic détecte bien le nouveau fichier et indique que seulement celui-ci sera copié. On peut faire une nouvelle | + | restic détecte bien le nouveau fichier et indique que seulement celui-ci sera copié. On peut effectivement exécuter la sauvegarde : |
| <code bash> | <code bash> | ||
| restic backup ~/Documents | restic backup ~/Documents | ||
| </ | </ | ||
| + | |||
| + | ==== Lister/ | ||
| Pour lister l' | Pour lister l' | ||
| Ligne 73: | Ligne 88: | ||
| </ | </ | ||
| - | Pour tester une restauration, | + | Pour ne lister que le contenu d'un sous-dossier : |
| <code bash> | <code bash> | ||
| - | rm ~/Documents/wishlist.txt | + | restic ls latest /home/yoann/Documents/factures |
| </ | </ | ||
| - | On recherche le fichier dans les sauvegardes : | + | |
| + | Pour rechercher un fichier dans les sauvegardes : | ||
| <code bash> | <code bash> | ||
| restic find " | restic find " | ||
| + | |||
| + | # rechercher uniquement dans le dernier snapshot | ||
| + | resstic find " | ||
| + | |||
| + | # rechercher uniquement dans les snapshot désignés | ||
| + | restic find " | ||
| </ | </ | ||
| + | |||
| + | La recherche est sensible à la casse de caractères mais on peut utiliser l' | ||
| + | |||
| + | <code bash> | ||
| + | restic find --ignore-case " | ||
| + | </ | ||
| + | |||
| + | ==== Restaurer ==== | ||
| + | |||
| + | |||
| + | Par défaut la restauration reconstruit le chemin complet dans le répertoire de destination (cible) : | ||
| + | |||
| + | <code bash> | ||
| + | # le fichier et les dossiers parents sont recréés sur la destination (target) | ||
| + | restic restore latest --include / | ||
| + | </ | ||
| + | |||
| + | Dans le cas présenté ci-dessus le dossier ''/ | ||
| + | |||
| + | Si l'on souhaite restaurer le fichier à son emplacement initial, on peut saisir : | ||
| + | |||
| + | <code bash> | ||
| + | restic restore latest --include / | ||
| + | </ | ||
| + | |||
| + | Pour ne pas reconstruire l' | ||
| + | |||
| + | <code bash> | ||
| + | restic restore latest:/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | De la même manière, pour restaurer le dossier ''/ | ||
| + | |||
| + | <code bash> | ||
| + | restic restore latest:/ | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour restaurer le dernier snapshot : | ||
| + | |||
| + | <code bash> | ||
| + | restic restore latest --target / | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Supprimer un snapshot ==== | ||
| + | |||
| + | La suppression s' | ||
| + | * 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' | ||
| + | |||
| + | '' | ||
| + | |||
| + | <code bash> | ||
| + | restic forget latest --dry-run | ||
| + | |||
| + | restic forget latest | ||
| + | |||
| + | restic prune --dry-run | ||
| + | </ | ||
| + | |||
| + | Après la commande '' | ||
| + | |||
| + | |||
| + | ==== Maintenance du dépôt ==== | ||
| + | Il est recommandé de vérifier périodiquement l' | ||
| - | Il est recommandé de vérifier périodiquement les métadonnées du dépôt : | ||
| <code bash> | <code bash> | ||
| restic check | restic check | ||