Ceci est une ancienne révision du document !
Table des matières
Mise en place de sauvegardes
Mise en contexte
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
1):
- Avoir 3 sauvegardes différentes,
des copies dans des répertoires différents ne compte pas. Il faut avoir 3 copies sur des supports différents. - Avoir 2 types de support différents pour les sauvegardes,
utiliser 3 disques dur ne fonctionne pas car les mêmes types de supports sont sujet aux mêmes défaillances. - Avoir 1 supports à un emplacement différent,
car nul n'est à l'abri d'un vol, d'un incendie ou tout autre évènement qui pourrait détruire les données.
À cela, j'ajouterai les règles suivantes :
- Il faut tester ses sauvegardes régulièrement car des sauvegardes desquelles on ne peut pas récupérer de données sont des sauvegardes inutiles.
- Il faut sauvegarder régulièrement pour perdre le moins possible de choses en cas de défaillance.
Identification des données importantes
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 2) + 2 disques dur externes + 2 clés USB + 1 carte mémoire flash + export papier 3) |
Clés SSH | 10 Ko | |||
Fichiers de récupération d'accès | 1 Ko | |||
Irremplaçable | Photos personnelles | Sauvegarde normale de type 3-2-1 | ≈ 50 Mo | En ligne 4) + 2 disques dur externes |
Vidéos personnelles | ≈ 500 Mo | |||
Projets personnels | ≈ 25 Go | |||
Documents administratifs 5) | ≈ 1 Go | |||
Confort | Fichiers de configuration 6) | ≈ 150 Mo | ||
Fichiers achetés 7) | ≈ 14 Go | |||
Fichiers glanés 8) | ≈ 8 Go | |||
Musique | Sauvegarde allégée | ≈ 90 Go | 2 disques dur externes |
Mise en place
Sauvegarde allégée
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 9) 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 10) 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.
Sauvegarde normale
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 11) 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 12) 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.
Sauvegarde critique
La sauvegarde critique reprend ce qui a été fait dans la sauvegarde normale et ajoute la sauvegarde sur petits supports amovibles 13).
Ici, je n'utilise pas de sauvegarde incrémentale car la volumétrie est très faible 14).
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 <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 15) 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.
Récupération de fichiers
Sauvegarde gérée par rsync
Ici, c'est trivial. Il suffit de brancher le support et de récupérer les fichiers désirés.
Sauvegarde gérée par borg/borgmatic
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
, …