Borg backup (Français)
BorgBackup (abrégé : Borg) est un programme de sauvegarde par déduplication. En option, il prend en charge la compression et le chiffrement authentifié.
L'objectif principal de Borg est de fournir un moyen efficace et sûr de sauvegarder des données. La technique de déduplication des données utilisée rend Borg approprié pour les sauvegardes quotidiennes puisque seules les modifications sont stockées. La technique de chiffrement authentifié permet d'effectuer des sauvegardes vers des cibles qui ne sont pas entièrement fiables.
Installation
Installez le paquet borg. La version de développement est disponible avec borg-gitAUR.
Pour des fonctionnalités supplémentaires, installez les paquets suivants :
- python-llfuse
- pour le montage des archives
- openssh
- pour se connecter à des hôtes distants
- borgmatic
- un ensemble de scripts enveloppants pour contrôler Borg via des fichiers YAML au lieu de commandes de terminal.
- pika-backup
- une interface graphique basée sur libadwaia/GTK4 pour Borg
- vorta
- une interface graphique basée sur Qt pour Borg
- borgtui-gitAUR
- une interface en console et en ligne de commande pour des sauvegardes planifiées
Documentation
La documentation officielle propose un guide de démarrage. En supplément des exemples fournis dans ces liens, consultez également borg(1) et apropos borg
.
Une aide est aussi disponible par les commandes, soit générale :
$ borg help
soit circonstanciée :
$ borg help command
Utilisation
Le concept principal sur lequel se fonde Borg est la dé-duplication : plutôt qu'accumuler les fichiers comme dans l'archivage classique par TAR, la dé-duplication vérifie par hashage l'identité des fichiers, quels que soient leurs noms, pour ne les copier qu'une fois. Elle occupe ainsi, même sans compression, une place minimale pour des sauvegardes incrémentales répétées.
La compression des fichiers est facultative et prend en charge plusieurs algorithmes (zstd est recommandé) et intensités.
Les archives créées avec Borg peuvent être montées comme des systèmes de fichiers avec FUSE pour parcourir et restaurer des fichiers individuels.
Les archives peuvent être créées localement, ou sur des systèmes distants en utilisant SSHFS, NFS, Samba, ou des solutions de montage similaires. Le transfert via SSH est pris en charge, mais l'hôte distant doit avoir Borg disponible.
Création de dépôts
Les dépôts Borg peuvent être chiffrés ou rendus inviolables. Pour plus d'informations sur les modes et les options, consultez la documentation officielle sur la configuration d'un dépôt.
Pour créer un dépôt Borg sans chiffrement ou authentification :
$ borg init --encryption=none /path/to/repo
Création d'archives
Des instances d'archives individuelles peuvent être créées dans le dépôt avec la commande borg create
. Un nom unique doit être attribué à chaque archive. Borg inclut une liste de noms génériques pour faciliter l'ajout de chaînes telles que des dates, des heures, des noms d'utilisateur et des noms d'hôte.
Pour créer une archive du répertoire archivable-dir
avec le nom d'hôte de la machine source et la date du jour :
$ borg create /path/to/repo::{hostname}-{now:%Y-%m-%d} archivable-dir
Borg prend en charge de nombreuses options d'inclusion et d'exclusion. Pour exclure les fichiers .pyc
de l'archive :
$ borg create ... --exclude '*.pyc' /path/to/repo::archive-name
Plus d'informations peuvent être trouvées sur la page de documentation de borg create
.
Élagage des archives
La suppression des anciennes archives ne se fait pas automatiquement, mais peut être effectuée manuellement avec la commande borg prune
. Le nombre d'archives à conserver doit être spécifié, et peut être limité par l'heure de création de l'archive.
Pour conserver uniquement les 7 dernières archives quotidiennes, les quatre dernières archives hebdomadaires et les trois dernières archives mensuelles :
$ borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=3 /path/to/repo
Pour ne conserver que les 10 dernières archives, quelle que soit leur date de création :
$ borg prune --keep-last=10 /path/to/repo
Pour conserver toutes les archives des 30 derniers jours, quel que soit le nombre d'archives qu'elles contiennent :
$ borg prune --keep-within=30d /path/to/repo
borg compact
sur le dépôt.--prefix
ou --glob-archives
.Plus d'informations sont disponibles sur la page de documentation de borg prune
.
Restauration à partir d'une archive
Pour restaurer à partir d'une archive :
$ borg extract /path/to/repo::archive-name' path/to/restore
/home/archuser/path/to/restore
à partir d'une archive se trouvant dans le répertoire personnel de l'utilisateur de l'archive aura pour résultat que le chemin complet restauré sera /home/archuser/home/archuser/path/to/restore
.Alternativement, un dép peut être monté pour une restauration interactive :
$ borg mount /path/to/repo::archive-name::::: :.
Trucs et astuces
Exclusions des caches
La taille des archives peut être réduite en excluant les répertoires de cache. Les répertoires qui adhèrent à la Cache Directory Archiving Standard peuvent être automatiquement exclus en ajoutant --exclude-caches
à la commande de création d'archives :
$ borg create ... --exclude-caches /path/to/repo::nom-de-l'archive
Lister les fichiers affectés
De nombreuses opérations dans Borg supportent l'indicateur --list
pour lister les fichiers ou archives affectés. S'il est associé à --dry-run
, l'utilisateur peut vérifier les effets d'une commande donnée.