{{tag>réseau internet cloud sauvegarde tutoriel}} {{ :logo:restic.png?130|Logo de Restic}} ====== Sauvegarder sur une box Internet grâce à Restic ====== Ce tutoriel décrit comment mettre mettre en place un dépôt de sauvegarde sur un disque dur connecté à une //box// Internet (ici une //freebox//) afin de sauvegarder ses données depuis n'importe où (et idéalement ailleurs, peut-être chez la famille ou chez des ami·e·s). Pour ce tutoriel nous utiliserons le //[[:restic#wrappers|wrapper]]// **[[https://github.com/creativeprojects/resticprofile|resticprofile]]** afin de nous faciliter l'utilisation de **[[:restic]]**, et **[[:rclone]]** pour nous connecter à la //freebox//. ===== Prérequis ===== **Resticprofile** est un outil qui s'utilise en [[:tutoriel:console_ligne_de_commande|ligne de commande]], il est donc recommandé d'être à l'aise avec le [[:terminal]], ou au moins d'en connaître les [[:tutoriel:console_commandes_de_base|rudiments]].\\ Si ce n'est pas le cas mieux vaut commencer par essayer de vous former un minimum en consultant [[:tutoriel:console_ligne_de_commande|cette documentation]], en particulier les chapitres concernant les commandes ''[[:tutoriel:console_ligne_de_commande#ls]]'', ''[[:tutoriel:console_ligne_de_commande#cd]]'', ''[[:tutoriel:console_ligne_de_commande#mkdir]]'', ''[[:tutoriel:console_ligne_de_commande#mv]]'', ''[[:tutoriel:console_ligne_de_commande#cp]]'', et ''[[:tutoriel:console_ligne_de_commande#rm]]''. La plupart de ces outils ne sont malheureusement pas traduits en français pour le moment, ni leurs documentations officielles. N'hésitez pas à demander de l'aide sur le forum si besoin ! ===== Partage de l'espace de stockage ===== 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. 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''//\\ Notez ces informations : * ''freebox'' est votre nom d'utilisateur. * ''exemple.freeboxos.fr'' est votre hôte. * ''1234'' est le numéro de port. * notez évidemment aussi votre mot de passe (avec un gestionnaire de mot de passe, tel que [[:KeePassXC]] par ex.) ===== Rclone ===== [[: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 : sudo apt install rclone sudo rclone selfupdate Créez un fichier de configuration ''~/.config/rclone/rclone.conf'' qui contiendra les informations de connexion : [freebox] type = ftp host = exemple.freeboxos.fr user = freebox port = 1234 pass = hash_du_mot_de_passe explicit_tls = true Adaptez évidemment ces informations avec celles recueillies au chapitre précédent ! * Remplacez ''exemple.freeboxos.fr'' par votre hôte. * ''1234'' par votre numéro de port. * Pour obtenir le ''hash_du_mot_de_passe'', entrez la commande suivant en remplaçant ''votre_mot_de_passe'' par celui du chapitre précédent : rclone obscure 'votre_mot_de_passe'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//. Vous pouvez vérifier que tout fonctionne bien en tapant rclone ls freebox: ou utiliser [[:analyseur_usage_espace_disque#ncdu]] pour explorer le stockage de votre freebox : rclone ncdu freebox: ===== Restic ===== [[:Restic]] est le moteur de sauvegarde. [[:restic#installation|Installez-le]] et mettez-le aussi à jour à sa dernière version : sudo apt install restic sudo restic self-update On peut ensuite initier un dépôt restic sur la freebox : restic -r rclone:freebox:/disque_dur/restic init * Remplacez ''disque_dur'' par le nom de votre stockage sur la freebox. * On créera ici un nouveau mot de passe **pour restic** qu'on notera pour la suite. Cette commande y créera un répertoire ''restic'' contenant votre dépôt restic (donc vos sauvegardes). ===== Resticprofile ===== **[[https://github.com/creativeprojects/resticprofile|Resticprofile]]** permet de simplifier l'usage de **restic** et d'automatiser facilement les sauvegardes. Pour [[https://creativeprojects.github.io/resticprofile/installation/linux/index.html|l'installer]] : sudo apt install curl curl -LO https://raw.githubusercontent.com/creativeprojects/resticprofile/master/install.sh chmod +x install.sh sudo ./install.sh -b /usr/local/bin rm install.sh On peut alors créer un fichier de configuration ''~/.config/resticprofile/profiles.yaml'' : version: "1" default: repository: "rclone:freebox:/disque_dur/restic" password-file: "password.txt" backup: source: - "/home" exclude: - "/**/ImapMail/" - "/**/cache/" - "/**/.cache/" - "/**/cache2/" - "/**/storage/" schedule: 'Tue *-*-* 12:00:00' * Remplacez ''/disque_dur/'' par le nom de votre stockage sur la freebox. * 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 tout les mardi - //**Tue**sday// - à midi). On peut définir le mot de passe en clair dans un fichier ''password.txt'' : echo "mot_de_passe_restic" > ~/.config/resticprofile/password.txt Attention évidemment à garder ce fichier personnel et secret ! À 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 : resticprofile backup ---- //Contributeur : [[:utilisateurs:krodelabestiole]]//