Gérer ses sauvegardes avec Borg
Présentation
Borg est un logiciel de sauvegarde gérant la déduplication des données.
Concrètement cela signifie qu’à chaque sauvegarde il ne sauvegarde en plus que les différences par rapport aux
sauvegardes précédentes.
Cela permet d’optimiser l’espace utilisé par les sauvegardes, tout en permettant de conserver
différentes sauvegardes et ainsi revenir à différents états (même si pour un usage particulier cela représente moins
d’intérêt il peut toujours être intéressant de revenir à un état donné dans le passé et pas forcément uniquement le
dernier état).
Sans rentrer dans les détails techniques Borg découpe les fichiers à sauvegarder et ne sauvegarde que les nouveaux
morceaux, ce qui lui permet de bénéficier d’une plus grande optimisation de l’espace occupé.
De plus Borg permet de chiffrer les sauvegardes, soit par une phrase de passe, soit par une clé.
Il est bien sûr possible d’utiliser d’autres outils pour chiffrer la sauvegarde une fois celle-ci faite mais l’intérêt
immense d’utiliser le chiffrement intégré est que Borg gère toujours la déduplication une fois le chiffrement effectué.
Il peut aussi signer les sauvegardes afin de garantir leur authenticité.
Création d’un dépôt
Avant de commencer une sauvegarde il est nécessaire de créer un dépôt qui contiendra ensuite les différentes archives correspondant aux sauvegardes effectuées :
borg init --encryption repokey /backups
Cette commande permet de créer un dépôt vide utilisant le chiffrement AES-CTR-256 en stockant la clé dans le dépôt.
Cela signifie qu’une personne récupérant votre dépôt aura la clé de chiffrement, mais PAS la phrase de passe.
Il est aussi possible d’utiliser comme chiffrement keyfile
afin de ne pas stocker la clé de chiffrement dans le dépôt
(il faudra dans ce cas la sécuriser et ne surtout jamais la perdre).
Les options de chiffrement repokey-blake2
et keyfile-blake2
permettent d’utiliser l’algorithme de chiffrement
BLAKE2.
Création d’une sauvegarde
Pour créer une nouvelle sauvegarde du répertoire de votre utilisateur il suffit d’utiliser la commande suivante
(adapter l’option compression
en fonction de votre besoin) :
borg create --verbose --progress --stats --compression lzma,9 /backups::<NOM_SAUVEGARDE> ~/
Il est bien entendu possible d’exclure des fichiers de la sauvegarde.
Nettoyage des sauvegardes
Borg est tout à fait approprié pour être exécuté tous les jours puisqu’il ne sauvegardera que les “morceaux” de fichiers ayant changé.
Il est néanmoins en général utile de supprimer les plus anciennes sauvegardes en utilisant la commande suivante :
borg prune --verbose --stats --keep-daily=7 --keep-monthly=3 /backups
Cette commande va conserver les 7 dernières sauvegardes journalières et les trois dernières sauvegardes mensuelles
en plus (les 7 dernières sauvegardes journalières ne compteront pas dans les trois dernières sauvegardes mensuelles).
Si vous avez une sauvegarde chaque jour de l’année l’option --keep-daily=7
conservera les sauvegardes du 25, 26, 27,
28, 29, 30 et 31 décembre et l’option --keep-monthly=3
conservera les sauvegardes du 30 novembre, 31 octobre et 30
septembre (la sauvegarde du 31 décembre ayant déjà été sélectionnée par l’option --keep-daily
).
N’hésitez pas à consulter la documentation très bien faite de l’outil par le biais de la commande man
ou du
site.