Ideenquelle

Borg : How-to

Le post est construit au fur et à mesure. Je développerai essentiellement dans le cadre familliale.

Tout d’abord, un bon backup devrait suivre :

J’aimerai rajouter la notion de “crypté” mais cela peut poser des soucis par rapport à la facilité d’utilisation. Malgré une documentation même poussée, l’utilisation (et surtout la récupération) peut s’avérer difficile. En effet, si toute la documentation suppose l’utilisation d’une console/ligne de commande, il faut se souvenir que la plupart des personnes n’aiment pas cela. Même s’ils se lancent dans la ligne de commande, les documentations oublient très régulièrement que tout le monde est loin de maitriser les outils. Je suis moi-même confronté à cette problématique (je comprends et utilise la ligne de commande mais ne comprends pas les explications données dans un README car l’auteur suppose que je connaisse l’utilisation d’un outil (npm/uv/… pour en citer certains)).

Le backup peut se faire de manière incrémentale ou redondant. L’incrémentale ne regarde que les différences par rapport à la version précédente tandis que le redondant lui sauvegarde tout.

Il faut distinguer les données qui bougeront régulièrement de celles qui sont fixes. Dans un cadre familliale, vous sauvegarderez essentiellement vos photos et souvenirs de vacances qui ne bougeront pas. Par contre, dans une entreprise, les budgets et les données clients seront régulièrement mis à jour.

Stratégie

La méthode 3-2-1, c’est bien sur papier. Mais comment la mettre en place ? Les photos sont prises avec mon téléphone ou transmises sur mon téléphone. Cela pourrait faire une sauvegarde. En réalité, je ne compte pas cela comme une sauvegarde. Pourquoi ? Mon téléphone peut facile se perdre ou se casser. Et bam ! Plus de sauvegarde. Est-ce que, après changement, j’irai remettre mes photos sur mon téléphone ? Non.

  1. J’ai fait le choix d’avoir un hébergement Cloud + Email. Mon hébergeur propose d’une application de sauvegarde sur smartphone. Cela permet d’envoyer automatiquement dans le cloud. La plupart des grands groupes (Microsoft, Apple et Google) propose un service similaire. C’est automatique, vérifiable, facile à utiliser et bien documenté mais sensible au ransomware.

  2. Je sauvegarde toutes ces données sur un serveur à la maison, un Raspberry Pi 4 RAM 4GO. Ce n’est pas une solution accessible à tout le monde. Une autre solution similaire est le NAS. Il existe des modèles et marques grand public qui font cela très bien. Idéalement, il faudra que ce NAS soit en RAID pour dupliquer les informations et éviter les pertes liées à une défaillance d’un seul disque dur. Le RAID devrait idéalement encore être mis en place chez moi. C’est vérifiable. Cela peut être automatique, facile à utiliser et bien documenté en fonction de la technique employée (NAS ou serveur). Ce n’est pas insensible au ransomware.

  3. Enfin, j’ai prévu un stockage dans le cloud [1]. C’est un service de stockage simple (pas de puissance de calcul, pas de RAM). Il existe plusieurs outils pour transférer les données. C’est vérifiable. Cela peut être insensible au ransomware et vérifiable. Par contre, ce n’est pas facile à utiliser et la documentation n’est pas immédiate. J’aurais pu mettre en place un stockage chez un tiers de confiance (ici, la famille) et se partager mutuellement du stockage. Je ne retrouve par contre pas l’application.

Critique A mes yeux, la stratégie 3-2-1 est compliquée à mettre en place dans une famille car très dépendante d’une seule personne (le geek de service). C’est également un budget (NAS/Rapsberry Pi/disque dur + stockage cloud) Est-ce utile ? Regardez-vous vos photos ? En profitez-vous ? Quelle est la valeur de ces souvenirs ? Vos vidéos sont-elles utiles ? Je met en place une sauvegarde plus pour avoir l’assurance qu’autre chose. Intrinsèquement, ma famille n’en voit pas l’utilité car la sauvegarde via mon hébergeur suffit.

Programme

Pour faire les sauvegardes sur un stockage, il est préférable d’avoir recours à un programme permette l’automatisation. Parce que le copier/coller, c’est gentil mais ce n’est pas tenable sur le long terme.

Dans les programmes libre et fonctionnant au minimum sous Debian, j’ai retenu :

Mon choix s’est principalement porté sur borgbackup car il existe un mode append-only.

Accès au stockage

L’accès se fait uniquement par clé SSH. Il faut donc en générer une (ici, propre à cette applicatif). Il faut bien veiller à la garder quelque part sinon plus d’accès.

BorgBackup

  1. Initialisation : borg init --encryption=repokey --append-only FOLDER_URL_CLOUD Borg vous demande créer une clé pour l’encryption. ** Attention ** : Si vous perdez ou la clé SSH ou la clé d’encryption, c’est foutu ! Donc à garder au chaud sur différents formats (papier, numérique, …). Mais à ne pas perdre sous aucun prétexte.

FOLDER_URL_CLOUD est généralement donné comme ceci : user@server:/your/folder S’il faut spécifier un port (par exemple le 2222), cela devient : user@server:2222/your/folder

  1. Export de la clé d’encryption : borg key export FOLDER_URL_CLOUD encrypted-key-backup.txt Il est possible d’en faire un QR code avec --qr-html ou une version papier avec --paper

  2. Sauvegarde des fichiers : borg create FOLDER_URL_CLOUD::archive /data_to_archive Si /data_to_archive ressemble plus à /data/to/archive/2025/9874z2s21d/, borg va respecter le chemin complet. Si vous souhaitez garder qu’une partie de la structure, il y a deux solutions : soit démarrer depuis le dossier de base soit rajouter un /./ pour signaler le départ de la structure. Autrement dit : /data/to/archive/./2025/9874z2s21d/

  3. Lister les archives : borg list FOLDER_URL_CLOUD

  4. Monter et démonter un folder : borg mount FOLDER_URL_CLOUD /where/to/mount et borg umount /where/to/mount

  5. Récupérer une archive : borg extract FOLDER_URL_CLOUD::archive Notez que borg extrait dans le répertoire courant.

[1] : cloud, c’est le PC d’un autre qui est globalement géré par cet autre. Il met à disposition de l’espace ou de la puissance de calcul et gère l’infrastructure derrière (moyennant paiement généralement).

Tags: