Avec les ordinateurs, il y a 2 types d'utilisateurs. Ceux qui ont déjà perdu des données et ceux qui vont en perdre. Généralement, les premiers mettent en place des systèmes pour parer à cet évènement, tandis que les autres vivent dans l'insouciance la plus totale. Je fais partie de la première catégorie depuis de nombreuses années et voici ce que j'ai fait pour ne plus avoir à vivre avec la peur de perdre mon travail, mes photos et autres documents importants.
Pour avoir un système de sauvegardes efficaces, il faut respecter la règle 3-2-1 25):
À cela, j'ajouterai les règles suivantes :
Toutes les données n'ont pas le même niveau d'importance. Certaines sont inestimables (ex : photos d'un enfant, fiche de paie, …), d'autres sont très facilement remplaçables (ex : vidéo téléchargée, fichier de cache, …). Avant de mettre en place une stratégie de sauvegarde, il faut donc identifier les données qu'il faut conserver ainsi que le niveau de sécurité souhaité.
J'ai identifié plusieurs catégories de données à sauvegarder :
| Type de donnée | Fichiers concernés | Stratégie de sauvegarde | Volume de données | Emplacement |
|---|---|---|---|---|
| Critique | Fichiers de gestion de mots de passe | Sauvegarde sur un minimum de 5 supports + export papier | 1 Mo | En ligne 26) + 2 disques dur externes + 2 clés USB + 1 carte mémoire flash + export papier 27) |
| Clés SSH | 10 Ko | |||
| Fichiers de récupération d'accès | 1 Ko | |||
| Fichiers de génération de ma liste de contacts | 1 Mo | |||
| Irremplaçable | Photos personnelles | Sauvegarde normale de type 3-2-1 | ≈ 50 Mo | En ligne 28) + 2 disques dur externes |
| Vidéos personnelles | ≈ 500 Mo | |||
| Projets personnels | ≈ 25 Go | |||
| Documents administratifs 29) | ≈ 1 Go | |||
| Confort | Fichiers de configuration 30) | ≈ 150 Mo | ||
| Fichiers achetés 31) | ≈ 14 Go | |||
| Fichiers glanés 32) | ≈ 8 Go | |||
| Musique | Sauvegarde allégée | ≈ 90 Go | 2 disques dur externes |
Pour cela, j'utilise Borg backup. Et pour me faciliter la tâche, je ne l'utilise pas directement mais à travers Borgmatic. Il n'y a pas grand chose à ajouter à cela, étant donné que les documentations existantes sont très bien fournies.
La seule chose un peu particulière que j'ai faite est de mettre plusieurs repository 33) dans le fichier de configuration afin d'avoir la même configuration pour chacun de mes supports.
J'ai aussi ajouté 1 règles dans mon fichier Makefile pour lancer facilement la sauvegarde.
Documentations utiles :
Par le passé, j'avais des scripts similaires 34) qui étaient tous déclenchés par systemd.
J'ai décidé de simplifier ça en ayant un seul script qui sera lancé manuellement.
Je me dis que si je fais l'effort d'insérer mes supports amovibles sur mon ordinateur, je peux aussi lancer un simple script.
La sauvegarde normale reprend ce qui a été fait dans la sauvegarde allégée et ajoute la sauvegarde en ligne.
Pour la sauvegarde en ligne, j'utilise le service BorgBase qui permet de faire des sauvegardes chiffrées localement 35) et de les envoyer par incréments.
J'ai utilisé les mêmes outils que pour la sauvegarde allégée, à savoir Borg et borgmatic. J'ai configuré borgmatic pour que les mots de passe d'accès au service soit récupérés automatiquement dans mon gestionnaire de mot de passe. Il faut que j'ajoute 36) les clés SSH à l'agent de gestion des clés car il n'y a pas d'outils disponible nativement dans borgmatic pour le faire. C'est un petit inconvénient mineur et j'essayerai de régler ça quand j'aurai le goût.
La sauvegarde critique reprend ce qui a été fait dans la sauvegarde normale et ajoute la sauvegarde sur petits supports amovibles 37).
Ici, je n'utilise pas de sauvegarde incrémentale car la volumétrie est très faible 38).
J'ai écrit un script tout simple qui valide la présence du support et qui fait une copie des fichiers critiques avec rsync.
La commande utilisée est la suivante :
rsync --archive --quiet --compress --exclude=build <fichier1> <fichier2> ... <fichiern> <destination>
J'ai également ajouté une règle dans mon fichier Makefile pour me simplifier la vie.
Par le passé, j'avais des scripts similaires 39) qui étaient tous déclenchés par systemd.
J'ai décidé de simplifier ça en ayant un seul script qui sera lancé manuellement.
Je me dis que si je fais l'effort d'insérer mes supports amovibles sur mon ordinateur, je peux aussi lancer un simple script.
Je suis encore en train de me questionner sur la pertinence de faire une sauvegarde de mes données critiques sur papier. C'est facile à mettre en place mais il a tellement de vecteurs d'attaque possibles que je me demande si je vais le faire ou pas.
Ici, c'est trivial. Il suffit de brancher le support et de récupérer les fichiers désirés.
Ici, ce n'est pas beaucoup plus compliqué. Il existe plusieurs méthodes mais la plus simple est de monter la sauvegarde dans le système de fichiers et de naviguer dans l'arborescence.
Tout est décrit dans cette documentation.
Il faudra installer la bibliothèque python-llfuse pour pouvoir monter les sauvegardes dans le système de fichiers avec borgmatic.
Makefile, .config, …