| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| restic [Le 30/01/2026, 19:51] – [Restauration] explication --include krodelabestiole | restic [Le 26/02/2026, 01:41] (Version actuelle) – [Restauration] réécriture - développement krodelabestiole |
|---|
| 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 |
| ==== Restauration ==== | ==== Restauration ==== |
| |
| 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. | 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> | <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]]). | * 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'' n'est ici pas celui du contenu sauvegardé, mais celui vers lequel on veut restaurer la sauvegarde. | |
| | * 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''. | Pour restaurer un répertoire en particulier on peut utiliser l'option ''%%--%%include''. |
| |
| Si on souhaite restaurer un répertoire "sur place" (à l'endroit d'où il vient), le plus simple est probablement d'indiquer le contenu du champs ''Path'' (indiqué dans le [[#explorer_les_sauvegardes|liste des snapshots]] -- il correspond simplement à la //source// de la sauvegarde telle qu'on l'a configuré lors de sa mise en place) comme ''%%--%%target''. | |
| |
| Par exemple si on sauvegarde depuis la [[:arborescence#racine]] ''/'', et qu'on souhaite seulement restaurer le répertoire ''/home'' et son contenu : | 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 identifiant_instantané --target / --include /home</code> | <code>restic -r sftp:serveur:/chemin/restic-repo restore 12345678 --target / --include /home</code> |
| |
| On peut ainsi restaurer simplement un répertoire. | On peut ainsi restaurer seulement un répertoire et son contenu. |
| |
| <note> | === Si l'arborescence originale diffère de l'arborescence actuelle === |
| 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]]**. | |
| </note> | 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 ===== |