| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| restic [Le 09/01/2026, 21:08] – distinction versionning - incrémentation / init local / typos / liens internes / détails 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 |
| - Il faut ensuite simplement [[:permissions|rendre le fichier exécutable]] :<code>chmod +x ~/.local/bin/restic</code> | - Il faut ensuite simplement [[:permissions|rendre le fichier exécutable]] :<code>chmod +x ~/.local/bin/restic</code> |
| |
| <note tip>Avec cette méthode on peut ensuite [[#mise à jour|mettre à jour]] **restic** sans [[:sudo|permission d'administrateur]].</note> | <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 === | === 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 un répertoire du système avec les [[:sudo|permissions d'administrateur]] : | 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 | sudo mv ~/.local/bin/restic /usr/local/bin |
| |
| ==== Restauration ==== | ==== Restauration ==== |
| |
| La commande ''[[https://restic.readthedocs.io/en/stable/050_restore.html|restic restore]]'' permet de restaurer n'importe quel instantané précis. | 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. | |
| |
| On peut ainsi restaurer n'importe quelle sauvegarde à l'emplacement de son choix. | * 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]]). |
| |
| <note> | Pour restaurer un répertoire en particulier on peut utiliser l'option ''%%--%%include''. |
| 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> | 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 ===== |