Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
restic [Le 16/12/2024, 00:30]
krodelabestiole [Interfaces graphiques] +détails
restic [Le 27/04/2025, 19:00] (Version actuelle)
krodelabestiole [Wrappers] deja dup transparent
Ligne 34: Ligne 34:
  
 <note warning> <note warning>
-Ni **restic**, ni **Restic Browser** ne sont malheureusement traduits en français pour le moment. Il est donc compliqué de les utiliser sans maîtriser un minimum l'​anglais. N'​hésitez pas à demander de l'aide sur le [[https://​forum.ubunut-fr.org|forum]] si besoin !+Ni **restic**, ni **Restic Browser** ne sont malheureusement traduits en français pour le moment. Il est donc compliqué de les utiliser sans maîtriser un minimum l'​anglais. N'​hésitez pas à demander de l'aide sur le [[https://​forum.ubuntu-fr.org|forum]] si besoin !
 </​note>​ </​note>​
  
Ligne 41: Ligne 41:
 **Restic** est disponible dans les [[:​depots#​dépôts officiels]] d'​Ubuntu.\\ ​ **Restic** est disponible dans les [[:​depots#​dépôts officiels]] d'​Ubuntu.\\ ​
 Pour l'​installer il suffit donc d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​restic]].** Pour l'​installer il suffit donc d'​[[:​tutoriel:​comment_installer_un_paquet|installer le paquet]] **[[apt>​restic]].**
 +
 +==== Dernière version ====
 +
 +Une fois installé, on peut mettre à jour le logiciel à sa dernière version stable très simplement grâce à la commande ''​[[https://​restic.readthedocs.io/​en/​stable/​020_installation.html#​packages|self-update]]''​ :
 +<​code>​sudo restic self-update</​code>​
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 50: Ligne 55:
 Dans le cadre de l'​utilisation native de **restic**, on peut afficher la liste des commandes disponibles en tapant simplement ''​restic''​ dans un [[:​terminal]]. Dans le cadre de l'​utilisation native de **restic**, on peut afficher la liste des commandes disponibles en tapant simplement ''​restic''​ dans un [[:​terminal]].
  
-**Restic** permet de réaliser toutes sortes d'​opérations mais on utilisera principalement ''​init''​ la première configuration,​ puis régulièrement la commande ''​backup''​ pour déclencher les sauvegardes (ou instantanés / //​snapshots//​).+**Restic** permet de réaliser toutes sortes d'​opérations mais on utilisera principalement ''​init'' ​pour créer un dépôt lors de la première configuration,​ puis régulièrement la commande ''​backup''​ pour déclencher ​chaque sauvegarde. Comme on peut conserver plusieurs versions des fichiers sauvegardés à différents moments (voir [[wpfr>​Sauvegarde_(informatique)#​Sauvegarde_incrémentielle_ou_incrémentale|sauvegarde incrémentielle]]),​ pour désigner ​les sauvegardes ​en parle aussi d'​**instantanés** ​(ou **//​snapshots//​** en anglais).
  
 Le paramètre ''​-r''​ (ou ''​%%--%%repo''​ en version longue) est très important : il permet de spécifier le dépôt (//​**R**epository//​ en anglais) sur lequel on souhaite travailler. Le paramètre ''​-r''​ (ou ''​%%--%%repo''​ en version longue) est très important : il permet de spécifier le dépôt (//​**R**epository//​ en anglais) sur lequel on souhaite travailler.
Ligne 73: 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 79: 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.
  
-==== Lister ​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 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>​ 
 +  * 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. 
 +  * ''/''​ est le répertoire qu'on souhaite lister, ici la racine de cette sauvegarde. Ne pas indiquer de chemin permet de lister l'​intégralité des fichiers sauvegardés où qu'ils se trouvent dans cet instantané. 
 + 
 +À partir de la version **0.17** il est possible d'​utiliser la commande ''​[[:​analyseur_usage_espace_disque#​ncdu]]''​ (après avoir [[:​tutoriel:​comment_installer_un_paquet|installé localement le paquet]] ''​[[apt>​ncdu]]''​) pour explorer l'​espace occupé par chaque répertoire dans un instantané : 
 +<​code>​restic -r sftp:​serveur:/​chemin/​restic-repo ls latest --ncdu | ncdu -f -</​code>​
  
 ==== Restauration ==== ==== Restauration ====
Ligne 98: Ligne 111:
 <​code>​restic -r sftp:​serveur:/​chemin/​restic-repo restore identifiant_instantané --target /​chemin</​code>​ <​code>​restic -r sftp:​serveur:/​chemin/​restic-repo restore identifiant_instantané --target /​chemin</​code>​
  
-  * L%%'​%%''​identifiant_instantané''​ est un numéro à 8 chiffres hexadécimaux, ​récupérés ​en listant les sauvegardes ​à l'étape précédente+  * L%%'​%%''​identifiant_instantané''​ est un numéro à 8 chiffres hexadécimaux, ​récupéré ​en listant les sauvegardes ​avec la commande ​''​[[https://​restic.readthedocs.io/​en/​stable/​045_working_with_repos.html#​listing-all-snapshots|snapshots]]''​ (voir chapitre précédent)
-  * Le ''/​chemin''​ n'est ici pas forcément ​celui du contenu sauvegardé,​ mais celui vers lequel on veut restaurer la sauvegarde.+  * Le ''/​chemin''​ n'est ici pas celui du contenu sauvegardé,​ mais celui vers lequel on veut restaurer la sauvegarde.
  
 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 107: Ligne 141:
 Il existe de nombreuses interfaces graphiques permettant d'​utiliser et d'​explorer facilement les dépôts **restic** ; Il existe de nombreuses interfaces graphiques permettant d'​utiliser et d'​explorer facilement les dépôts **restic** ;
  
-  * [[https://​github.com/​emuell/​restic-browser|Restic Browser]] (GTK) permet d'​explorer de restaurer les instantanés,​ ou de télécharger les répertoires ​en fichiers qui s'y trouvent ​de son choix.+  * [[https://​github.com/​emuell/​restic-browser|Restic Browser]] (GTK) permet d'​explorer ​et de restaurer les instantanés,​ ou de télécharger ​indépendamment ​les répertoires ​et fichiers qui s'y trouvent.
   * [[https://​github.com/​ad-on-is/​resticity|Resticity]] est disponible en [[:​Flatpak]] sur [[https://​github.com/​ad-on-is/​resticity/​releases|GitHub]]. Plus complet il permet en plus d'​effectuer des sauvegardes,​ et de les programmer.   * [[https://​github.com/​ad-on-is/​resticity|Resticity]] est disponible en [[:​Flatpak]] sur [[https://​github.com/​ad-on-is/​resticity/​releases|GitHub]]. Plus complet il permet en plus d'​effectuer des sauvegardes,​ et de les programmer.
   * [[https://​github.com/​netinvent/​npbackup|NetPerfect Backup]] (version [[https://​github.com/​netinvent/​npbackup/​releases|npbackup-gui]]) est une interface [[:Python]] très complète.   * [[https://​github.com/​netinvent/​npbackup|NetPerfect Backup]] (version [[https://​github.com/​netinvent/​npbackup/​releases|npbackup-gui]]) est une interface [[:Python]] très complète.
Ligne 120: 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]]** ​permet de créer ​un [[https://​creativeprojects.github.io/​resticprofile/​configuration/​index.html|fichier de configuration]] pour faciliter l'​usage de la ligne de commande avec **restic**. ​La [[https://​creativeprojects.github.io/​resticprofile/​index.html|documentation]] n'​existe malheureusement aussi qu'en anglais. **resticprofile** ​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). +  * **[[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 de manière un peu plus directive (avoir moins de choix à disposition peut aussi permettre de simplifier la [[https://​autorestic.vercel.app|documentation]]) ​et facilite ​en plus 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]]).
  
 Voir aussi [[https://​github.com/​rubiojr/​awesome-restic?​tab=readme-ov-file#​wrappers|cette liste]] plus complète. Voir aussi [[https://​github.com/​rubiojr/​awesome-restic?​tab=readme-ov-file#​wrappers|cette liste]] plus complète.
Ligne 130: 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]]//​
  • restic.1734305422.txt.gz
  • Dernière modification: Le 16/12/2024, 00:30
  • par krodelabestiole