{{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]]//