Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
restic [Le 19/12/2024, 05:31] krodelabestiole |
restic [Le 27/04/2025, 19:00] (Version actuelle) krodelabestiole [Wrappers] deja dup transparent |
||
---|---|---|---|
Ligne 78: | Ligne 78: | ||
C'est la commande ''[[https://restic.readthedocs.io/en/stable/040_backup.html|restic backup]]'' qui permet de délencher une sauvegarde. | C'est la commande ''[[https://restic.readthedocs.io/en/stable/040_backup.html|restic backup]]'' qui permet de délencher une sauvegarde. | ||
- | En ligne de commande, **restic** s'utilise un peu comme [[:rsync]] ou [[:rClone]]. | + | En ligne de commande, **restic** s'utilise un peu comme [[:rsync]] ou [[:rclone]]. |
<code>restic -r sftp:serveur:/chemin/restic-repo backup /chemin</code> | <code>restic -r sftp:serveur:/chemin/restic-repo backup /chemin</code> | ||
Ligne 84: | Ligne 84: | ||
Commande à adapter comme ''init'' précédemment : | Commande à adapter comme ''init'' précédemment : | ||
* ''-r'' pour spécifier le dépôt sur lequel on souhaite travailler. | * ''-r'' pour spécifier le dépôt sur lequel on souhaite travailler. | ||
- | * Le ''/chemin'' est celui du répertoire à sauvegarder. | + | * Le dernier ''/chemin'' est celui du répertoire à sauvegarder. |
- | * On peut utiliser l'option ''[[https://restic.readthedocs.io/en/stable/040_backup.html#excluding-files|--exclude]]'' pour exclure certains fichiers ou répertoires | + | * On peut utiliser l'option ''[[https://restic.readthedocs.io/en/stable/040_backup.html#excluding-files|--exclude]]'' pour exclure certains fichiers ou répertoires, |
* et l'option ''[[https://restic.readthedocs.io/en/stable/040_backup.html#dry-runs|--dry-run]]'' pour lancer un test sans effectuer réellement la sauvegarde. | * et l'option ''[[https://restic.readthedocs.io/en/stable/040_backup.html#dry-runs|--dry-run]]'' pour lancer un test sans effectuer réellement la sauvegarde. | ||
- | La première fois qu'on lance cette commande, l'intégralité des données et compressée et sauvegardée. Par la suite avec la même commande on ne transfère que les données qui ont été modifiées, c'est donc beaucoup plus rapide. | + | La première fois qu'on lance cette commande, l'intégralité des données est compressée et sauvegardée. Par la suite avec la même commande on ne transfère que les données qui ont été modifiées, c'est donc beaucoup plus rapide. |
==== Explorer les sauvegardes ==== | ==== Explorer les sauvegardes ==== | ||
- | La commande ''[[https://restic.readthedocs.io/en/stable/045_working_with_repos.html#listing-all-snapshots|snapshots]]'' permet de lister les instantanés : | + | La commande ''[[https://restic.readthedocs.io/en/stable/045_working_with_repos.html#listing-all-snapshots|restic snapshots]]'' permet de lister les instantanés : |
<code>restic -r sftp:serveur:/chemin/restic-repo snapshots</code> | <code>restic -r sftp:serveur:/chemin/restic-repo snapshots</code> | ||
- | Cette commande retourne un tableau dont la première colonne affiche l'**identifiant** de chaque instantané. | + | Cette commande retourne un tableau dont la première colonne indique l'**identifiant** de chaque instantané. |
- | On peut explorer les sauvegardes avec une [[#interfaces graphiques|interface graphique]] telle que [[https://github.com/emuell/restic-browser|Restic Browser]], ou avec la commande ''[[:tutoriel:console_ligne_de_commande#ls]]'' qu'implémente **restic** : | + | On peut explorer les sauvegardes en [[#montage|montant le dépôt]], ou avec une [[#interfaces graphiques|interface graphique]] telle que [[https://github.com/emuell/restic-browser|Restic Browser]], ou avec la commande ''[[:tutoriel:console_ligne_de_commande#ls]]'' qu'implémente **restic** : |
<code>restic -r sftp:serveur:/chemin/restic-repo ls latest /</code> | <code>restic -r sftp:serveur:/chemin/restic-repo ls latest /</code> | ||
* On peut remplacer le mot clé ''latest'' (pour explorer le dernier instantané) par un identifiant récupéré grâce à la commande ''[[https://restic.readthedocs.io/en/stable/045_working_with_repos.html#listing-all-snapshots|snapshots]]'' précédente. | * On peut remplacer le mot clé ''latest'' (pour explorer le dernier instantané) par un identifiant récupéré grâce à la commande ''[[https://restic.readthedocs.io/en/stable/045_working_with_repos.html#listing-all-snapshots|snapshots]]'' précédente. | ||
Ligne 115: | Ligne 115: | ||
On peut ainsi restaurer n'importe quelle sauvegarde à l'emplacement de son choix. | On peut ainsi restaurer n'importe quelle sauvegarde à l'emplacement de son choix. | ||
+ | |||
+ | === Montage === | ||
+ | |||
+ | On peut aussi monter l'intégralité d'un dépôt en système local grâce à [[:FUSE]] afin d'explorer ses sauvegardes avec le [[:gestionnaire de fichiers]] de son choix, à commencer par [[:nautilus|GNOME Fichiers]] sur Ubuntu. | ||
+ | |||
+ | Il faut pour cela créer un répertoire - ici ''/mnt/restic'' - et s'autoriser à le modifier : | ||
+ | sudo mkdir /mnt/restic | ||
+ | sudo chown $USER:$GROUP /mnt/restic | ||
+ | |||
+ | C'est ensuite la commande ''[[https://restic.readthedocs.io/en/stable/050_restore.html#restore-using-mount|restic mount]]'' qui nous permettra de monter le dépôt : | ||
+ | restic -r sftp:serveur:/chemin/restic-repo mount /mnt/restic | ||
+ | |||
+ | Après quelques secondes, sous le chemin ''/mnt/restic'' devraient se trouver les répertoires suivants : | ||
+ | * ''hosts'' contient la liste des instantanés triés par **noms d'hôtes** sauvegardés, | ||
+ | * ''ids'' contient la liste des instantanés triés par **identifiant** (voir § [[#Explorer les sauvegardes]]), | ||
+ | * ''snapshots'' les liste par date, | ||
+ | * ''tags'' (//étiquettes// en français) est utile si on utilise [[https://restic.readthedocs.io/en/stable/manual_rest.html#manage-tags|cette fonctionnalité]]. | ||
+ | |||
+ | Vous pouvez ainsi explorer vos sauvegardes avec l'outil de votre choix et copier-coller n'importe quel contenu pour le restaurer où vous voulez. | ||
+ | |||
+ | Pour terminer le montage, appuyez sur la touche ''C'' en laissant enfoncé la touche ''Ctrl'' dans la fenêtre de terminal que vous venez d'utiliser. | ||
===== Interfaces graphiques ===== | ===== Interfaces graphiques ===== | ||
Ligne 133: | Ligne 154: | ||
Les //wrappers//((pas de traduction tangible en français... emballage ?)) permettent d'étendre les fonctionnalités de **restic** en l'utilisant comme "moteur" sous-jacent plus ou moins visible. | Les //wrappers//((pas de traduction tangible en français... emballage ?)) permettent d'étendre les fonctionnalités de **restic** en l'utilisant comme "moteur" sous-jacent plus ou moins visible. | ||
- | * C'est le cas de **[[:deja-dup|Déjà Dup]]**, installé par défaut sur Ubuntu, dont les toutes dernières versions permettent de reposer sur **restic** plutôt que sur [[:Duplicity]], mais ceci reste très transparent pour l'utilisateur. | + | * C'est le cas de **[[:deja-dup|Déjà Dup]]**, installé par défaut sur Ubuntu, dont les dernières versions reposent sur **restic** (et plus sur [[:Duplicity]]), mais ceci est très transparent pour l'utilisateur (il est inutile d'installer ou de configurer **restic** soi-même en utilisant **Déjà Dup**). |
- | * **[[https://github.com/creativeprojects/resticprofile|Resticprofile]]** complète **restic** à la perfection, en implémentant un [[https://creativeprojects.github.io/resticprofile/configuration/index.html|fichier de configuration]] pour faciliter l'usage de la ligne de commande avec **restic**. Il permet aussi de [[https://creativeprojects.github.io/resticprofile/schedules/index.html|programmer]] très facilement des sauvegardes récurrentes aux moments de son choix (en utilisant [[:systemd]] en arrière-plan, ou [[:cron]] dans le cas étonnant ou celui-ci ne serait pas disponible). Sa [[https://creativeprojects.github.io/resticprofile/index.html|documentation]] n'existe malheureusement aussi qu'en anglais. | + | * **[[https://github.com/creativeprojects/resticprofile|Resticprofile]]** complète **restic** à la perfection, en implémentant un [[https://creativeprojects.github.io/resticprofile/configuration/index.html|fichier de configuration]] pour faciliter l'usage de la ligne de commande avec **restic**. Il permet aussi de [[https://creativeprojects.github.io/resticprofile/schedules/index.html|programmer]] très facilement des sauvegardes récurrentes aux moments de son choix (en utilisant [[:systemd]] en arrière-plan, ou [[:cron]] dans le cas étonnant ou celui-ci ne serait pas disponible), et de définir une politique de [[https://creativeprojects.github.io/resticprofile/reference/profile/retention/index.html|rétention]] pour ces instantanés. Sa [[https://creativeprojects.github.io/resticprofile/index.html|documentation]] est en anglais mais vous pouvez si besoin vous aider de [[:tutoriel:resticprofile#resticprofile|notre tutoriel]]. |
* **[[https://github.com/cupcakearmy/autorestic|Autorestic]]** propose à peu près les mêmes fonctionnalités que **resticprofile**, mais sans faciliter l'usage de **restic** en ligne de commande. Il ne fonctionne que de manière déclarative - par l'usage de fichiers de configuration, de manière un peu plus directive (avoir moins de choix à disposition peut aussi permettre de simplifier la [[https://autorestic.vercel.app|documentation]]). Il facilite si besoin la gestion de dépôts multiples (par ex. pour sauvegarder sur un disque dur en même temps que sur le [[:cloud]]). | * **[[https://github.com/cupcakearmy/autorestic|Autorestic]]** propose à peu près les mêmes fonctionnalités que **resticprofile**, mais sans faciliter l'usage de **restic** en ligne de commande. Il ne fonctionne que de manière déclarative - par l'usage de fichiers de configuration, de manière un peu plus directive (avoir moins de choix à disposition peut aussi permettre de simplifier la [[https://autorestic.vercel.app|documentation]]). Il facilite si besoin la gestion de dépôts multiples (par ex. pour sauvegarder sur un disque dur en même temps que sur le [[:cloud]]). | ||
Ligne 143: | Ligne 164: | ||
* **//(en)//** [[https://github.com/restic/restic|sources et site officiel]] | * **//(en)//** [[https://github.com/restic/restic|sources et site officiel]] | ||
* **//(en)//** [[https://restic.readthedocs.io/en/stable/|documentation]] | * **//(en)//** [[https://restic.readthedocs.io/en/stable/|documentation]] | ||
+ | * tutoriel décrivant l'utilisation de **[[:rclone]]** et **resticprofile** : [[:tutoriel:resticprofile|Sauvegarder sur une box Internet grâce à Restic]] | ||
---- | ---- | ||
//Contributeur : [[:utilisateurs:krodelabestiole]]// | //Contributeur : [[:utilisateurs:krodelabestiole]]// |