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 wrapper resticprofile afin de nous faciliter l'utilisation de restic, et rclone pour nous connecter à la freebox.

Resticprofile est un outil qui s'utilise en ligne de commande, il est donc recommandé d'être à l'aise avec le terminal, ou au moins d'en connaître les rudiments.
Si ce n'est pas le cas mieux vaut commencer par essayer de vous former un minimum en consultant cette documentation, en particulier les chapitres concernant les commandes ls, cd, mkdir, mv, cp, et 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 !

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'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 va nous permettre de nous connecter au stockage de la Freebox depuis n'importe où.

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 :

rclone.conf
[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 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 ncdu pour explorer le stockage de votre freebox :

rclone ncdu freebox:

Restic est le moteur de sauvegarde.

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 permet de simplifier l'usage de restic et d'automatiser facilement les sauvegardes.

Pour 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 :

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 documentation pour l'utilisation de schedule, qui permet de programmer les sauvegardes automatiques (ici tout les mardi - Tuesday - à 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 sous-commandes restic sont aussi disponibles avec resticprofile).

On pourra ainsi lancer une première sauvegarde avec un simple :

 resticprofile backup

Contributeur : krodelabestiole

  • utilisateurs/krodelabestiole/brouillons/resticprofile.txt
  • Dernière modification: Le 18/12/2024, 08:39
  • par krodelabestiole