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édentesRévision précédente
Prochaine révision
Révision précédente
restic [Le 22/12/2024, 11:02] – [Wrappers] précision lien resticprofile krodelabestiolerestic [Le 26/02/2026, 01:41] (Version actuelle) – [Restauration] réécriture - développement krodelabestiole
Ligne 4: Ligne 4:
 ====== Restic ====== ====== Restic ======
  
-**[[https://github.com/restic/restic|Restic]]** est un logiciel libre de [[:sauvegarde]] qui offre toutes les fonctionnalités qu'on attend d'un logiciel de sauvegarde moderne : incrémentation((la [[wpfr>Sauvegarde_(informatique)#Sauvegarde_incrémentielle_ou_incrémentale|sauvegarde incrémentielle]] permet de conserver les anciennes versions des fichiers sauvegardées, sans nécessiter de téléverser de nouveau les fichiers inchangés)), chiffrement((le chiffrement empêche tout tiers d'accéder à vos données, y compris le propriétaire de la solution de stockage)), compression, déduplication((la compression et la déduplication accélèrent les transferts et permettent aux sauvegardes d'occuper un minimum d'espace)), etc.+**[[https://github.com/restic/restic|Restic]]** est un logiciel libre de [[:sauvegarde]] multiplateforme ([[:distributions|Linux]], macOS, Windows) qui offre toutes les fonctionnalités qu'on attend d'un logiciel de sauvegarde moderne : incrémentation((La [[wpfr>Sauvegarde_(informatique)#Sauvegarde_incrémentielle_ou_incrémentale|sauvegarde incrémentielle]] évite de téléverser de nouveau les fichiers inchangés.)), //versioning//((Le //versioning// permet de conserver les anciennes versions des fichiers sauvegardées.)), chiffrement((Le chiffrement empêche tout tiers d'accéder à vos données, y compris le propriétaire de la solution de stockage.)), compression, déduplication((La compression et la déduplication accélèrent les transferts et permettent aux sauvegardes d'occuper un minimum d'espace.)), etc.((Voir si besoin le chapitre //[[:sauvegarde#Petit glossaire]]//.))
  
 Il permet de sauvegarder sur : Il permet de sauvegarder sur :
   * un système de fichiers local   * un système de fichiers local
-  * [[:ssh#monter_un_repertoire_distant_navigation_via_sftp_secure_file_transfer_protocol|SFTP]] ([[:SSH]])+  * [[:SFTP]] ([[:SSH]])
   * [[https://github.com/restic/rest-server|serveur HTTP REST]]   * [[https://github.com/restic/rest-server|serveur HTTP REST]]
   * OpenStack Swift   * OpenStack Swift
Ligne 16: Ligne 16:
   * Google Cloud Storage   * Google Cloud Storage
   * ... et surtout sur tout ce que supporte [[:Rclone]], ce qui le rend compatible avec à peu près [[https://github.com/rclone/rclone#storage-providers|tout ce qui existe]] en terme de stockage, local ou distant, avec les meilleures performances possibles dans chaque situation :   * ... et surtout sur tout ce que supporte [[:Rclone]], ce qui le rend compatible avec à peu près [[https://github.com/rclone/rclone#storage-providers|tout ce qui existe]] en terme de stockage, local ou distant, avec les meilleures performances possibles dans chaque situation :
-    * [[:Samba|SMB / CIFS]] (partages locaux, Windows, Linux ou MacOS)+    * [[:SMB]] (partages locaux, Windows, Linux ou macOS)
     * [[:WebDAV]]     * [[:WebDAV]]
     * [[:FTP]]     * [[:FTP]]
Ligne 38: Ligne 38:
  
 ===== Installation ===== ===== Installation =====
 +
 +Il existe plusieurs méthodes au choix pour installer **Restic** sur différents système d'exploitation décrites en anglais sur la [[https://restic.readthedocs.io/en/latest/020_installation.html#installation|documentation officielle]].
 +
 +Les méthodes les plus simples pour Ubuntu sont les suivantes :
 +
 +==== APT ====
  
 **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]]''
 + 
 +<note important> 
 +Cette méthode déploie rarement la dernière version de **restic** et la [[#mise à jour]] autonome ne fonctionne pas. 
 +</note> 
 + 
 +==== Installation manuelle ==== 
 + 
 +**Restic** est compilé sous la forme d'un simple fichier binaire. 
 + 
 +On peut donc télécharger ce fichier et le placer dans son [[:arborescence#binaires personnels|répertoire des binaires personnels]] ''~/.local/bin/'' pour que l'utilisateur courant puisse l'utiliser. 
 + 
 +Le [[https://beta.restic.net|site officiel]] ne fournit que les [[#Version beta|versions beta]].\\ 
 +Les [[#Récupérer la version stable|versions stables]] sont compressées en [[wpfr>bzip2]] sur [[https://github.com/restic/restic/releases/latest|GitHub]]. 
 + 
 +Via cette méthode l'installation de la version stable est un peu plus compliquée que celle de la version beta parce que [[https://github.com/restic/restic/releases/latest|sur GitHub]] le numéro de version est indiqué dans l'[[:web#URL]] et le nom du fichier, et que le fichier est compressé en [[wpfr>bzip2]]. 
 +  - Pour télécharger la **version stable** compressée et l'extraire dans son [[:arborescence#binaires personnels|répertoire des binaires personnels]]  :<code>wget https://github.com/restic/restic/releases/download/v0.18.1/restic_0.18.1_linux_amd64.bz2 -O - | bzip2 -cd - > ~/.local/bin/restic</code>en ajustant si besoin ''v0.18.1'' et ''_0.18.1_''((Pour obtenir le numéro de la dernière version stable :<code>curl -s https://api.github.com/repos/restic/restic/releases/latest | jq -r '.tag_name'</code>)) (comme on peut ensuite [[#mise à jour|mettre à jour]] **restic** très facilement, ceci n'est //a priori// pas indispensable).<box 100% round|//Version beta//>Si on préfère installer la **version beta**, la procédure est plus simple :<code>wget https://beta.restic.net/latest_restic_linux_amd64 -O ~/.local/bin/restic</code></box> 
 +  - Il faut ensuite simplement [[:permissions|rendre le fichier exécutable]] :<code>chmod +x ~/.local/bin/restic</code> 
 + 
 +<note tip>Grâce à cette méthode la commande ''[[man>restic]]'' est directement accessible à l'[[:utilisateur]] courant, et il peut aussi [[#mise à jour|mettre à jour]] **restic**, le tout sans [[:permissions administrateur|permission administrateur]].</note> 
 + 
 +=== Installer pour tous les utilisateurs === 
 + 
 +Si on préfère que tous les utilisateurs puissent utiliser **restic**, on peut ensuite déplacer l'exécutable dans le répertoire système adéquat avec les [[:permissions administrateur]] : 
 +  sudo mv ~/.local/bin/restic /usr/local/bin 
 + 
 +==== Docker ==== 
 + 
 +Une image [[:docker]] officielle ''restic/restic'' est disponible sur [[https://hub.docker.com/r/restic/restic|Docker Hub]]. 
 + 
 +On peut l'utiliser avec une commande du type : 
 +<code> 
 +docker run --rm --hostname mon-hôte -ti \ 
 +    -v $HOME/.restic/passfile:/pass \ 
 +    -v $HOME/à-sauvegarder:/data \ 
 +    -e RESTIC_REPOSITORY=rest:https://user:pass@hostname/
 +    restic/restic 
 +</code> 
 +(On peut évidemment créer un [[:alias]] ou un fichier [[:docker#Docker Compose]].) 
 + 
 +===== Mise à jour =====
  
-==== Dernière version ====+Une fois installé, **restic** peut se mettre lui-même à jour à sa dernière version très simplement grâce à la commande ''[[https://restic.readthedocs.io/en/stable/020_installation.html#packages|self-update]]''
 +<code>restic self-update</code> 
 +En fonction de la méthode d'installation, il peut être nécessaire d'utiliser ''[[:utilisateurs:roschan:sudo]]''.
  
-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]]'' : +<note important>Cette fonction [[https://forum.restic.net/t/what-happened-to-self-update-on-ubuntu-24-04/7580|a été supprimée]] de la version [[:deb]] fournie par les dépôts [[:APT]] officiels à partir de [[:noble|Noble 24.04]].</note>
-<code>sudo restic self-update</code>+
  
 ===== Utilisation ===== ===== Utilisation =====
  
 **Restic** ne s'utilise qu'en ligne de commande, et ne propose pas directement de configuration.\\  **Restic** ne s'utilise qu'en ligne de commande, et ne propose pas directement de configuration.\\ 
-On peut tout de même automatiser son utilisation en configurant des tâches [[:systemd]] ou [[:cron]]\\+On peut tout de même automatiser son utilisation en configurant des tâches [[:systemd]] ou [[:cron]].\\
 Il existe aussi de nombreux //[[#wrappers]]// qui permettent d'étendre les fonctionnalités de **restic**, par exemple justement en implémentant des fichiers de configuration pour faciliter son utilisation et automatiser les sauvegardes. Il existe aussi de nombreux //[[#wrappers]]// qui permettent d'étendre les fonctionnalités de **restic**, par exemple justement en implémentant des fichiers de configuration pour faciliter son utilisation et automatiser les sauvegardes.
  
 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'' 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).+**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 //[[:sauvegarde#petit_glossaire|versioning]]//), 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 63: Ligne 110:
 ==== Initialisation ==== ==== Initialisation ====
  
-Pour commencer à utiliser **restic** il faut en premier lieu initialiser un dépôt avec la commande ''[[https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html|restic init]]''. C'est sur celui-ci qu'on effectuera les sauvegardes. Sur le dépôts les sauvegardes sont organisées par [[:chemins|chemin]] local (celui des données qu'on sauvegarde, sur la machine locale) et nom d'hôte (le nom de la machine locale). On peut donc sauvegarder plusieurs fois un chemin similaire depuis différentes machines sur un même dépôt sans risque de tout mélanger.+Pour commencer à utiliser **restic** il faut en premier lieu initialiser un dépôt avec la commande ''[[https://restic.readthedocs.io/en/stable/030_preparing_a_new_repo.html|restic init]]''. C'est sur celui-ci qu'on effectuera les sauvegardes. Sur le dépôt les sauvegardes sont organisées par [[:chemins|chemin]] local (celui des données qu'on sauvegarde, sur la machine locale) et nom d'hôte (le nom de la machine locale). On peut donc sauvegarder plusieurs fois un chemin similaire depuis différentes machines sur un même dépôt sans risque de tout mélanger.
  
 Entrez la commande suivante  dans un [[:terminal]] : Entrez la commande suivante  dans un [[:terminal]] :
Ligne 71: Ligne 118:
 Adaptez ''sftp:serveur:/chemin/restic-repo'' selon votre solution de stockage distant : Adaptez ''sftp:serveur:/chemin/restic-repo'' selon votre solution de stockage distant :
  
-''sftp:'' selon le protocole choisi, ou ''rclone:'' pour un dépôt [[:rclone]], puis ''serveur:'' pour le nom d'hôte. +''sftp:'' selon le protocole choisi, ou ''rclone:'' pour un dépôt [[:rclone]], puis ''serveur:'' pour le nom d'hôte. Si vous utilisez un système de fichiers local (pour des sauvegardes sur un support externe par exemple), n'indiquez simplement pas de protocole, mais un [[:chemins|chemin]] de préférence [[:chemins#chemin_absolu|absolu]].
  
 ==== Sauvegarde ==== ==== Sauvegarde ====
  
-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éclencher 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 92: Ligne 137:
 ==== 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.
-  * ''/'' 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é.+  * ''/'' est le répertoire qu'on souhaite lister, ici la [[:arborescence#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é : À 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> <code>restic -r sftp:serveur:/chemin/restic-repo ls latest --ncdu | ncdu -f -</code>
  
-==== Restauration ==== +On peut afficher rapidement le contenu d'un fichier (comme le ferait par exemple la commande ''[[man>cat]]''), grâce à la commande ''[[https://restic.readthedocs.io/en/stable/050_restore.html#printing-files-to-stdout|dump]]'' : 
- +<code>restic -r sftp:serveur:/chemin/restic-repo dump latest /chemin/fichier.txt</code>
-La commande ''[[https://restic.readthedocs.io/en/stable/050_restore.html|restic restore]]'' permet de restaurer n'importe quel instantané précis. +
- +
-<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é 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 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.+
  
 === Montage === === 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.+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 : Il faut pour cela créer un répertoire - ici ''/mnt/restic'' - et s'autoriser à le modifier :
Ligne 126: Ligne 163:
 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 : 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   restic -r sftp:serveur:/chemin/restic-repo mount /mnt/restic
 +Ajoutez l'option ''%%--%%allow-other=true'' à la fin de la ligne si vous n'avez pas correctement accès au répertoire (par exemple si vous utilisez ''[[:sudo]]'').
  
-Après quelques secondes, sous le chemin ''/mnt/restic'' devraient se trouver les répertoires suivants :+Après quelques secondes, sous le [[:chemins|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,   * ''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]]),+  * ''ids'' contient la liste des instantanés triés par **identifiant** (voir § //[[#Explorer les sauvegardes]]//),
   * ''snapshots'' les liste par date,   * ''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é]].   * ''tags'' (//étiquettes// en français) est utile si on utilise [[https://restic.readthedocs.io/en/stable/manual_rest.html#manage-tags|cette fonctionnalité]].
Ligne 135: Ligne 173:
 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. 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.+Pour terminer le montage, appuyez sur la touche ''C'' en laissant enfoncée la touche ''Ctrl'' (''Ctrl''+''C''dans la fenêtre de terminal que vous venez d'utiliser. 
 + 
 +==== Restauration ==== 
 + 
 +Il existe plusieurs méthodes pour restaurer des données : 
 +  * La commande ''[[https://restic.readthedocs.io/en/stable/050_restore.html|restic restore]]'' permet de restaurer n'importe quel instantané précis à l'emplacement de son choix, voir [[#Si l'arborescence originale correspond à l'arborescence actuelle|ci-dessous]]. 
 +  * En utilisant la fonctionnalité de [[#montage]] présentée ci-dessus, on peut aussi copier précisément n'importe quel contenu à restaurer, depuis un répertoire monté vers un répertoire local, avec n'importe quelle technique de copie ou [[:gestionnaire de fichiers]], tel que **[[:nautilus|GNOME Fichiers]]**. 
 +  * La commande ''[[https://restic.readthedocs.io/en/stable/050_restore.html#printing-files-to-stdout|restic dump]]'' décrite [[#explorer_les_sauvegardes|au-dessus]] permet d'afficher le contenu d'un fichier, ponctuellement, et de copier-coller depuis celui-ci. 
 + 
 +<note>Si possible, voir aussi la [[https://restic.readthedocs.io/en/stable/050_restore.html|documentation officielle]] en anglais à ce sujet.</note> 
 + 
 +=== Si l'arborescence originale correspond à l'arborescence actuelle === 
 + 
 +<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é en listant les sauvegardes avec la commande ''[[https://restic.readthedocs.io/en/stable/045_working_with_repos.html#listing-all-snapshots|snapshots]]'' (voir [[#Explorer les sauvegardes|chapitre précédent]]). 
 + 
 +  * Le ''/chemin'' de l'option ''%%--%%target'' n'est pas celui du contenu sauvegardé, mais celui vers lequel on veut restaurer la sauvegarde.\\ Si on souhaite restaurer un contenu "sur place" (à l'endroit d'où il vient, pour le rétablir à une version précédente), on indique avec l'option ''%%--%%target'' le chemin du champs ''Path'' tel que renseigné dans la [[#explorer_les_sauvegardes|liste des snapshots]] (celui-ci correspond à la //source// de la sauvegarde telle qu'on l'a configurée lors de sa [[#sauvegarde|mise en place]]). 
 + 
 +Pour restaurer un répertoire en particulier on peut utiliser l'option ''%%--%%include''
 + 
 +Par exemple si on sauvegarde depuis la [[:arborescence#racine]] ''/'', et qu'on souhaite seulement restaurer le répertoire ''/home'' et son contenu : 
 +<code>restic -r sftp:serveur:/chemin/restic-repo restore 12345678 --target / --include /home</code> 
 + 
 +On peut ainsi restaurer seulement un répertoire et son contenu. 
 + 
 +=== Si l'arborescence originale diffère de l'arborescence actuelle === 
 + 
 +Si le chemin utilisé pour la sauvegarde diffère du chemin sur lequel on souhaite restaurer les données, on peut aussi spécifier le chemin à restaurer après l'identifiant de l'instantané, séparé par deux points '':''
 + 
 +Par exemple pour restaurer un répertoire ''/home/alice/Documents'' (à l'origine) vers ''/mnt/data/Documents'' (en destination), entrer une commande du type : 
 +<code>restic -r sftp:serveur:/chemin/restic-repo restore 12345678:/home/alice/Documents /mnt/data/Documents</code>
  
 ===== Interfaces graphiques ===== ===== Interfaces graphiques =====
Ligne 144: Ligne 213:
   * [[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.
-  * [[https://github.com/GPh83/resticterm|resticterm]] : une interface graphique en [[:terminal]] (particulièrement pratique pour les serveurs ou les machines distantes). +  * [[https://github.com/GPh83/resticterm|resticterm]] : une interface graphique en [[:terminal]] (particulièrement pratique pour les serveurs ou les machines distantes).  
-  * [[https://github.com/swampapp/swamp|Swamp]] (GTK) : particulièrement bien intégré à [[:GNOME]] mais semble abandonné.+
   * [[https://github.com/garethgeorge/backrest|Backrest]] est une application [[:web]] très complète, qui permet d'automatiser les sauvegardes, gérer dépôts, instantanés et fichiers sauvegardés, etc. depuis un [[:navigateur]] (donc aussi particulièrement pratique pour les serveurs ou les machines distantes). Son installation peut s'avérer technique, c'est pourquoi il est recommandé d'utiliser l'image [[:docker]].   * [[https://github.com/garethgeorge/backrest|Backrest]] est une application [[:web]] très complète, qui permet d'automatiser les sauvegardes, gérer dépôts, instantanés et fichiers sauvegardés, etc. depuis un [[:navigateur]] (donc aussi particulièrement pratique pour les serveurs ou les machines distantes). Son installation peut s'avérer technique, c'est pourquoi il est recommandé d'utiliser l'image [[:docker]].
 +  * [[:deja-dup|Déjà Dup]] (GTK) : Installé par défaut sur Ubuntu, particulièrement bien intégré à [[:GNOME]] et particulièrement simple d'utilisation, mais fonctionnalités assez limitées. 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**).
  
 Voir [[https://github.com/rubiojr/awesome-restic?tab=readme-ov-file#apps|cette liste]] plus complète. Voir [[https://github.com/rubiojr/awesome-restic?tab=readme-ov-file#apps|cette liste]] plus complète.
Ligne 152: Ligne 221:
 ===== Wrappers ===== ===== Wrappers =====
  
-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 pertinente en français... //emballeurs// ?)) 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. 
   * **[[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/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]]//).
  
 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 164: Ligne 232:
   * **//(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]]+  * //[[:tutoriel:resticprofile|Sauvegarder sur une box Internet grâce à Restic]]// : tutoriel décrivant la mise en place de sauvegardes régulières et automatisées au moyen de **restic**, **[[:rclone]]** et **[[#wrappers|resticprofile]]**.\\ On peut l'adapter facilement pour sauvegarder sur l'un des innombrables [[https://github.com/rclone/rclone#storage-providers|services cloud et protocoles réseau]] que supporte **[[:rclone]]** !
  
 ---- ----
 //Contributeur : [[:utilisateurs:krodelabestiole]]// //Contributeur : [[:utilisateurs:krodelabestiole]]//