Utiliser Borg avec Borgmatic pour faire ses sauvegardes facilement
borgmatic est un script de sauvegarde qui “pilote” le logiciel de sauvegarde Borg/BorgBackup. Il rends facile la mise en place d’une sauvegarde fonctionnelle via BorgBackup car ce script s configure tout simplement via un unique fichier YAML.
Borg / BorgBackup
BorgBackup est un logiciel de sauvegarde de fichier qui permet (entre autre) :
- La déduplication des fichiers : un même fichier présent plusieurs fois dans vos données ne sera copié qu’une fois (il ne prendra pas x fois sa taille dans votre archive)
- Compression des archives : les données dans l’archive finale sont compressées pour économiser encore plus de place
- Chiffrement des archives : Evite qu’un tiers (hébergeur, pirate, état) ne lise vos données.
- Support de FUSE pour explorer les archives comme de simples dossiers.
- Support de SSH pour sauvegarder facilement vers un serveur distant (et ainsi appliquer la règle du 3-2-1).
Concepts
- Le logiciel Borg créer un dépôt (repository) sur le serveur local et/ou à distance : ou peut avoir plusieurs dépôts. C’est à ce niveau qu’on définit le mode de chiffrement (par dépôt).
- Les données à sauvegarder sont dédupliquées/compressées/chiffrées et placées dans des archives.
- Les archives sont ensuite placées dans le·s dépôt·s
Borgmatic
borgmatic est un script (écrit en Python) qui permet de se servir de Borg indirectement en réunissant tous les paramètres dans un fichier de configuration.
Ce n’est donc pas aussi puissant que les commandes borg
natives qui permettent
beaucoup de fins réglages mais :
- Il simplifie beaucoup les paramètres basiques / redondants de Borg : les
commandes
borgmatic
sont bien plus “simples” à taper/lire. - Il conserve la même logique d’action que Borg (
init
pour créer un dépôt,create
pour créer une archive / sauvegarder les données,check
,export
,mount
,list
,prune
, …). - Utiliser borgmatic n’empêche en rien d’utiliser des commandes
borg
à côté.
Il apporte aussi :
- tout un système de hooks pour effectuer quelques traitement spécifiques à différents moments.
- une intégration pour la sauvegarde de bases de données PostgreSQL et MySQL/MariaDB.
- une intégration avec différents outils de supervision : Healthchecks, Cronitor, PagerDuty et Cronhub.
Installation de borgmatic
Installer borgmatic (qui installera la dépendance BorgBackup) via APT :
|
|
Sous Debian, essayez de prendre au moins la version 1.7.x, via Debian bookworm ou bullseye-backports.
Lui demander de créer un fichier exemple de configuration qui sera votre point de départ avec la commande suivante :
|
|
Ce fichier sera créé à l’emplacement /etc/borgmatic/config.yaml
.
Configuration de borgmatic
Le fichier de configuration YAML est constitué des clés suivantes :
location
: Les fichiers sources qu’il faut sauvegarder et la/les destinations où il faut les copier/sauvegarder (les dépôts). Permet aussi de définir des masques d’inclusion/exclusions des fichiers sources.storage
: Les options des dépôts tels que le chiffrement, compression, les options SSH (pratique pour définir une clé SSH spécifique), le nom par défaut des archives, options à ajouter pour la commandeborg
(que borgmatic exécute pour nous).retention
: La politique de rétention des données dans les dépôts tels que l’âge maximal des sauvegardes/archives (supprimera celles qui dépassent le seuil) et le nombre d’archive quotidienne/hebdomadaire/mensuelle/annuelle à conserver.consistency
: Les réglages sur la vérification des données sauvegardées. Il peut ne s’agir que de vérification de la consistance des dépôts, mais cela peut aller jusqu’à une comparaison des données (qu’on peut limiter à quelques sous-dossiers si besoin).output
: Porte sur la sortie texte et la journalisation des exécutions de borgmatic.hooks
: Les commandes shell ou scripts à exécuter à différentes étapes de l’exécution de borgmatic :- Avant (ou après) une tâche de sauvegarde.
- Avant (ou après) le nettoyage (prune) d’un dépôt.
- Avant (ou après) la vérification des dépôts/archives/données.
- Avant (ou après) l’extraction d’une archive.
- En cas d’erreur.
- Avant (ou après) toutes les actions (si action de sauvegarde).
Cette section des hooks contient aussi les réglages pour la sauvegarde des bases de données et l’intégration avec les outils de supervision.
Une fois la configuration adaptée à vos besoins, la commande suivante permet de vérifier sa bonne syntaxe :
|
|
Utilisation de borgmatic
La commande suivante initialise un dépôt Borg chiffré.
|
|
Une fois le dépôt créer, on peut exporter la clé avec :
|
|
Pour effectuer une sauvegarde (créer une archive) :
|
|
L’exploration d’une archive avec le mount :
La commande suivante mount le dépôt Borg dans le dossier
/mnt/exploration_depot_borg
pour pouvoir l’explorer/lire :
|
|
Une fois l’exploration terminée (recherche de fichier, copie -en dehors de l’archive-, consultation de fichiers, …) on peut la de-mount-er avec :
|
|
Si vous aimez le contenu, vous pouvez aider
Sponsor