Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| software:applications:restic:000_restic [2026/07/20 16:31] – créée 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 | + | ==== 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 | + | Pour ne pas avoir à systématiquement |
| <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> | ||
| + | restic backup ~/Documents | ||
| + | </ | ||
| + | |||
| + | restic désigne par " | ||
| + | |||
| + | <code bash> | ||
| + | restic snapshots | ||
| </ | </ | ||
| + | |||
| + | Certaines commandes peuvent être exécutés "à blanc" via l' | ||
| + | |||
| + | On ajoute un nouveau fichier au dossier '' | ||
| + | |||
| + | <code bash> | ||
| + | echo "Hello World!" | ||
| + | |||
| + | # test la commande de sauvegarde | ||
| + | restic backup ~/ | ||
| + | </ | ||
| + | |||
| + | restic détecte bien le nouveau fichier et indique que seulement celui-ci sera copié. On peut effectivement exécuter la sauvegarde : | ||
| + | |||
| + | <code bash> | ||
| + | restic backup ~/Documents | ||
| + | </ | ||
| + | |||
| + | ==== Lister/ | ||
| + | |||
| + | Pour lister l' | ||
| + | |||
| + | <code bash> | ||
| + | restic ls latest | ||
| + | </ | ||
| + | |||
| + | Pour ne lister que le contenu d'un sous-dossier : | ||
| + | |||
| + | <code bash> | ||
| + | restic ls latest / | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour rechercher un fichier dans les sauvegardes : | ||
| + | |||
| + | <code bash> | ||
| + | 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' | ||
| + | |||
| + | <code bash> | ||
| + | restic check | ||
| + | restic check --read-data | ||
| + | </ | ||
| + | |||
| + | |||
| ===== Références ===== | ===== Références ===== | ||