| Les deux révisions précédentesRévision précédente | |
| tutoriel:resticprofile [Le 20/11/2025, 19:36] – [Restic] installation manuelle pour upgrade facile (pour tous les utilisateurs) krodelabestiole | tutoriel:resticprofile [Le 03/09/2026, 20:32] (Version actuelle) – exemple restore krodelabestiole |
|---|
| ==== Nom de domaine ==== | ==== Nom de domaine ==== |
| |
| //Free// (et peut-être d'autres fournisseurs d'accès) propose de faire pointer un sous-domaine de ''.freeboxos.fr'' vers les connexions de leurs clients. Cette fonctionnalité facilite l'accès à ses services [[:hebergement#auto-hebergement|auto-hébergés]] depuis n'importe où sur Internet : pas besoin de [[:tutoriel:connaitre_son_adresse_ip|noter une adresse IP]] qui est susceptible de changer, et vous pourrez profiter d'un certificat TLS / RSA valide, le tout sans frais supplémentaire.\\ | //Free// (et peut-être d'autres fournisseurs d'accès) propose de faire pointer un sous-domaine de ''.freeboxos.fr'' vers les connexions de leurs clients. Cette fonctionnalité facilite l'accès à ses services [[:hebergement#auto-hebergement|auto-hébergés]] depuis n'importe où sur Internet\_: pas besoin de [[:tutoriel:connaitre_son_adresse_ip|noter une adresse IP]] qui est susceptible de changer, et vous pourrez profiter d'un certificat TLS / RSA valide, le tout sans frais supplémentaire.\\ |
| Pour l'activer rendez-vous sur l'interface de gestion de la //freebox// [[http://mafreebox.freebox.fr]] puis dans les //Paramètres de la Freebox// -> //Nom de domaine// (voir si besoin [[https://www.universfreebox.com/article/53008/le-saviez-vous-vous-pouvez-acceder-aux-contenus-du-freebox-server-depuis-n-importe-ou-avec-un-nom-de-domaine-personnalise|cette documentation]] sur //Univers Freebox//). | Pour l'activer rendez-vous sur l'interface de gestion de la //freebox// [[http://mafreebox.freebox.fr]] puis dans les //Paramètres de la Freebox// -> //Nom de domaine// (voir si besoin [[https://www.universfreebox.com/article/53008/le-saviez-vous-vous-pouvez-acceder-aux-contenus-du-freebox-server-depuis-n-importe-ou-avec-un-nom-de-domaine-personnalise|cette documentation]] sur //Univers Freebox//). |
| |
| Une fois le disque dur connecté à la //freebox//, on accède à la gestion de celle-ci en se rendant sur la page [[http://mafreebox.freebox.fr/]]. | Une fois le disque dur connecté à la //freebox//, on accède à la gestion de celle-ci en se rendant sur la page [[http://mafreebox.freebox.fr/]]. |
| |
| Dans //Paramètres de la Freebox// (entrez votre mot de passe si nécessaire) cliquez sur FTP, activez le partage par FTP et renseignez un mot de passe extraordinairement complexe et long, sans mot du dictionnaire : ce sera la seule protection de vos données exposées sur Internet. | Dans //Paramètres de la Freebox// (entrez votre mot de passe si nécessaire) cliquez sur FTP, activez le partage par [[:FTP]] et renseignez un mot de passe extraordinairement complexe et long, sans mot du dictionnaire\_: ce sera la seule protection de vos données exposées sur Internet. |
| |
| Activez ensuite l'accès à distance. En bas de la fenêtre est affichée l'[[:web#URL]] de votre partage :\\ | Activez ensuite l'accès à distance. En bas de la fenêtre est affichée l'[[:web#URL]] de votre partage\_:\\ |
| > //Votre serveur FTP sera accessible à distance sur ''ftpes:%%//%%freebox@exemple.freeboxos.fr:1234''//\\ | > //Votre serveur FTP sera accessible à distance sur ''ftpes:%%//%%freebox@exemple.freeboxos.fr:1234''//\\ |
| Notez ces informations : | Notez ces informations\_: |
| |
| * ''freebox'' est votre nom d'utilisateur. | * ''freebox'' est votre nom d'utilisateur. |
| [[:Rclone]] va nous permettre de nous connecter au stockage de la Freebox depuis n'importe où. | [[:Rclone]] va nous permettre de nous connecter au stockage de la Freebox depuis n'importe où. |
| |
| [[:rclone#installation|Installez rclone]] et mettez-le à jour à sa dernière version : | [[:rclone#installation|Installez rclone]] et mettez-le à jour à sa dernière version\_: |
| <code>sudo apt install rclone | <code>sudo apt install rclone |
| sudo rclone selfupdate</code> | sudo rclone selfupdate</code> |
| |
| Créez un fichier de configuration ''~/.config/rclone/rclone.conf'' qui contiendra les informations de connexion : | Créez un fichier de configuration ''~/.config/rclone/rclone.conf'' qui contiendra les informations de connexion\_: |
| <file - rclone.conf>[freebox] | <file - rclone.conf>[freebox] |
| type = ftp | type = ftp |
| * Remplacez ''exemple.freeboxos.fr'' par votre hôte. | * Remplacez ''exemple.freeboxos.fr'' par votre hôte. |
| * ''1234'' par votre numéro de port. | * ''1234'' par votre numéro de port. |
| * Pour obtenir le ''hash_du_mot_de_passe'', entrez la commande suivante en remplaçant ''votre_mot_de_passe'' par celui du chapitre précédent :<code> rclone obscure 'votre_mot_de_passe'</code>Le retour de cette commande est votre //hash//. Conserver un espace au début de la commande (avant ''rclone'') permet d'éviter d'enregistrer votre mot de passe en clair dans votre [[:terminal#l_historique_des_commandes|historique]]. | * Pour obtenir le ''hash_du_mot_de_passe'', entrez la commande suivante en remplaçant ''votre_mot_de_passe'' par celui du chapitre précédent\_:<code> rclone obscure 'votre_mot_de_passe'</code>Le retour de cette commande est votre //hash//. Conserver un espace au début de la commande (avant ''rclone'') permet d'éviter d'enregistrer votre mot de passe en clair dans votre [[:terminal#l_historique_des_commandes|historique]]. |
| |
| À partir de maintenant on n'aura qu'à simplement utiliser l'identifiant ''freebox:'' de **rclone** pour profiter de cette connexion à la //freebox//. | À partir de maintenant on n'aura qu'à simplement utiliser l'identifiant ''freebox:'' de **rclone** pour profiter de cette connexion à la //freebox//. |
| rclone ls freebox: | rclone ls freebox: |
| |
| ou utiliser [[:analyseur_usage_espace_disque#ncdu]] pour explorer le stockage de votre freebox : | ou utiliser [[:analyseur_usage_espace_disque#ncdu]] pour explorer le stockage de votre freebox\_: |
| rclone ncdu freebox: | rclone ncdu freebox: |
| | |
| [[:Restic]] est le moteur de sauvegarde. | [[:Restic]] est le moteur de sauvegarde. |
| |
| [[:restic#installation|Installez-le]] et mettez-le aussi à jour à sa dernière version : | [[:restic#installation|Installez-le]] et mettez-le aussi à jour à sa dernière version\_: |
| <code>sudo sh -c 'wget https://github.com/restic/restic/releases/download/v0.18.1/restic_0.18.1_linux_amd64.bz2 -O - | bzip2 -cd - > /usr/local/bin/restic' | <code>sudo sh -c 'wget https://github.com/restic/restic/releases/download/v0.18.1/restic_0.18.1_linux_amd64.bz2 -O - | bzip2 -cd - > /usr/local/bin/restic' |
| sudo chmod +x /usr/local/bin/restic | sudo chmod +x /usr/local/bin/restic |
| sudo restic self-update</code> | sudo restic self-update</code> |
| |
| On peut ensuite initier un dépôt restic sur la freebox : | On peut ensuite initier un dépôt restic sur la freebox\_: |
| <code>restic -r rclone:freebox:/disque_dur/restic init</code> | <code>restic -r rclone:freebox:/disque_dur/restic init</code> |
| * Remplacez ''disque_dur'' par le nom de votre stockage sur la freebox. | * Remplacez ''disque_dur'' par le nom de votre stockage sur la freebox. |
| ==== Installation ==== | ==== Installation ==== |
| |
| Pour [[https://creativeprojects.github.io/resticprofile/installation/linux/index.html|l'installer]] : | Pour [[https://creativeprojects.github.io/resticprofile/installation/linux/index.html|l'installer]]\_: |
| <code>sudo apt install curl | <code>sudo apt install curl |
| curl -LO https://raw.githubusercontent.com/creativeprojects/resticprofile/master/install.sh | curl -LO https://raw.githubusercontent.com/creativeprojects/resticprofile/master/install.sh |
| ==== Configuration ==== | ==== Configuration ==== |
| |
| On peut alors créer un fichier de configuration ''~/.config/resticprofile/profiles.yaml'' : | On peut alors créer un fichier de configuration ''~/.config/resticprofile/profiles.yaml''\_: |
| <file - profiles.yaml>version: "1" | <file - profiles.yaml>version: "1" |
| |
| * Vous pouvez ajuster les éléments à sauvegarder (''source'' du ''backup'') et ceux à exclure (''exclude'') en fonction de vos besoins. | * Vous pouvez ajuster les éléments à sauvegarder (''source'' du ''backup'') et ceux à exclure (''exclude'') en fonction de vos besoins. |
| * Voir la [[https://creativeprojects.github.io/resticprofile/schedules/configuration/index.html#schedule|documentation]] pour l'utilisation de ''schedule'', qui permet de **programmer les sauvegardes automatiques** (ici tous les jours à 20h). La syntaxe à utiliser est celle de [[https://www.freedesktop.org/software/systemd/man/latest/systemd.time.html#|systemd.time]]. | * Voir la [[https://creativeprojects.github.io/resticprofile/schedules/configuration/index.html#schedule|documentation]] pour l'utilisation de ''schedule'', qui permet de **programmer les sauvegardes automatiques** (ici tous les jours à 20h). La syntaxe à utiliser est celle de [[https://www.freedesktop.org/software/systemd/man/latest/systemd.time.html#|systemd.time]]. |
| * Voir aussi la [[https://creativeprojects.github.io/resticprofile/reference/profile/retention/index.html|documentation]] concernant la **politique de rétention** : on conserve ici les instantanés quotidiens pendant 7 jours, les hebdomadaires pendant 4 semaines, les mensuels pendant 12 mois et les annuels éternellement. | * Voir aussi la [[https://creativeprojects.github.io/resticprofile/reference/profile/retention/index.html|documentation]] concernant la **politique de rétention**\_: on conserve ici les instantanés quotidiens pendant 7 jours, les hebdomadaires pendant 4 semaines, les mensuels pendant 12 mois et les annuels éternellement. |
| |
| On peut définir le mot de passe en clair dans un fichier ''password.txt'' : | On peut définir le mot de passe en clair dans un fichier ''password.txt''\_: |
| echo "mot_de_passe_restic" > ~/.config/resticprofile/password.txt | echo "mot_de_passe_restic" > ~/.config/resticprofile/password.txt |
| |
| Attention évidemment à garder ce fichier personnel et secret : | Attention évidemment à garder ce fichier personnel et secret\_: |
| chmod 400 ~/.config/resticprofile/password.txt | chmod 400 ~/.config/resticprofile/password.txt |
| |
| ==== Utilisation ==== | ==== Utilisation ==== |
| |
| À partir de là on peut utiliser la commande ''resticprofile'' sans avoir besoin de préciser tous les arguments que requiert ''restic'' ni le mot de passe (les [[:restic#utilisation|sous-commandes restic]] sont aussi disponibles avec ''resticprofile'') : | À partir de là on peut utiliser la commande ''resticprofile'' sans avoir besoin de préciser tous les arguments que requiert ''restic'' ni le mot de passe (les [[:restic#utilisation|sous-commandes restic]] sont aussi disponibles avec ''resticprofile'')\_: |
| |
| * On pourra ainsi lancer une première sauvegarde avec un simple :<code>resticprofile backup</code> | * On pourra ainsi lancer une première sauvegarde avec un simple\_:<code>resticprofile backup</code> |
| * Pour lister tous les instantanés il suffit d'entrer :<code>resticprofile</code> | * Pour lister tous les instantanés il suffit d'entrer\_:<code>resticprofile</code> |
| * Et par exemple<code>resticprofile ls latest</code>pour lister les fichiers de la dernière sauvegarde. | * Et par exemple<code>resticprofile ls latest</code>pour lister les fichiers de la dernière sauvegarde. |
| * Si tout va bien et que la sauvegarde se passe bien, on peut activer le déclenchement automatique des sauvegardes régulières avec la sous-commande ''[[https://creativeprojects.github.io/resticprofile/schedules/commands/index.html|schedule]]'' :<code>resticprofile schedule --all</code>Cette fonctionnalité repose sur des //[[https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html|timers]]// [[:systemd]]. | * Si tout va bien et que la sauvegarde se passe bien, on peut activer le déclenchement automatique des sauvegardes régulières avec la sous-commande ''[[https://creativeprojects.github.io/resticprofile/schedules/commands/index.html|schedule]]''\_:<code>resticprofile schedule --all</code>Cette fonctionnalité repose sur des //[[https://www.freedesktop.org/software/systemd/man/latest/systemd.timer.html|timers]]// [[:systemd]]. |
| <note>Il existe plusieurs niveaux de permission (''[[https://creativeprojects.github.io/resticprofile/schedules/configuration/index.html#schedule-permission|schedule-permission]]'') pour ces automatisations. | <note>Il existe plusieurs niveaux de permission (''[[https://creativeprojects.github.io/resticprofile/schedules/configuration/index.html#schedule-permission|schedule-permission]]'') pour ces automatisations. |
| * <file - profiles.yaml>schedule-permission: system</file> permet de lancer les sauvegardes en tant que [[:sudo|super utilisateur]], mais il faut dans ce cas utiliser la commande ''[[man>sudo]]''. \\ Si vous rencontrer l'erreur ''user is not allowed to create a system job'', voici la commande qui permet de les programmer avec ''[[:sudo]]'', tout en conservant les configurations de l'utilisateur courant :<code>sudo -E env "PATH=$PATH" resticprofile schedule --all</code> | * <file - profiles.yaml>schedule-permission: system</file> permet de lancer les sauvegardes en tant que [[:sudo|super utilisateur]], mais il faut dans ce cas utiliser la commande ''[[man>sudo]]''. \\ Si vous rencontrer l'erreur ''user is not allowed to create a system job'', voici la commande qui permet de les programmer avec ''[[:sudo]]'', tout en conservant les configurations de l'utilisateur courant\_:<code>sudo -E env "PATH=$PATH" resticprofile schedule --all</code> |
| * Sans [[:sudo|permission administrateur]] on peut utiliser le niveau ''user_logged_on'' au lieu de ''user'' :<file - profiles.yaml> | * Sans [[:sudo|permission administrateur]] on peut utiliser le niveau ''user_logged_on'' au lieu de ''user''\_:<file - profiles.yaml> |
| schedule-permission: user_logged_on</file>Cependant dans ce cas les sauvegardes ne se déclencheront automatiquement qu'à condition que l'utilisateur soir connecté à ce moment. | schedule-permission: user_logged_on</file>Cependant dans ce cas les sauvegardes ne se déclencheront automatiquement qu'à condition que l'utilisateur soir connecté à ce moment. |
| </note> | </note> |
| * Pour voir si la programmation des sauvegardes fonctionne bien :<code>resticprofile status</code> | * Pour voir si la programmation des sauvegardes fonctionne bien\_:<code>resticprofile status</code> |
| * Pour [[:restic#montage|monter l'intégralité de votre dépôt]] et l'explorer avec le [[:gestionnaire de fichiers]] de votre choix :<code>resticprofile mount /mnt/restic</code>(''Ctrl'' + ''C'' pour démonter) | * Pour [[:restic#montage|monter l'intégralité de votre dépôt]] et l'explorer avec le [[:gestionnaire de fichiers]] de votre choix\_:<code>resticprofile mount /mnt/restic</code>(''Ctrl''+''C'' pour démonter) |
| | * Pour [[:restic#restic_restore|restaurer]] un répertoire on utilise typiquement la commande ''[[man>restic-restore|restore]]''\_:<code>resticprofile restore 12345678:/home/alice/Documents --target /home/alice/Documents</code> |
| |
| ---- | ---- |
| //Contributeur : [[:utilisateurs:krodelabestiole]]// | //[[:Contributeurs]] : [[:utilisateurs:krodelabestiole]], ...// |