Table des matières

, ,

Borg Backup : un outil de sauvegarde extrêmement simple mais puissant (et gérant la déduplication)

Borg est un outil de sauvegarde incrémentielle en ligne de commande écrit en Python. C’est un fork d’Attic mais un peu plus en avance puisqu’il corrige pas mal de bug d’Attic et propose des fonctionnalités supplémentaires (choix de la compression, par exemple).En outre le projet est très actif et en constante évolution.

Une des particularités de Borg est qu’il supporte la déduplication, c’est-à-dire que les fichiers sauvegardés sont découpés en une multitude de tronçons, et Borg ne sauvegarde que les tronçons qui ont été modifiés depuis la dernière sauvegarde, d’où une économie substantielle en termes d’espace disque et un gain lors de transfert des sauvegardes distantes. De plus Borg gère différents types de compression permettant de diminuer encore la taille des sauvegardes ainsi que le chiffrement en AES 256-bit.

Une fois compris le principe des sauvegardes de Borg, celui-ci est très simple d'utilisation au quotidien, pas de base de données à gérer, les commandes sont simples et logiques et l'aide est très bien faite.

Pour ceux que la ligne de commande rebute, il est possible d'installer une interface graphique en complément. Celle-ci est indépendante de Borg mais est pleinement fonctionnelle, même si elle n'utilise pas toutes les fonctionnalités que l'on retrouve avec la ligne de commande

Particularités principales

Installation

Il suffit juste d'installer les paquets borgbackup et borgbackup-doc, ceux-ci installant automatiquement les dépendances nécessaires.

Installation d'une interface graphique

Vorta

Pour installer l'interface graphique (Vorta), il faut installer le paquet vorta, celui-ci installant aussi automatiquement les dépendances nécessaires (les paquets sont disponibles pour Ubuntu ≥21.04 [Hirsute]).

Autres interfaces graphiques

Utilisation

Utilisation de l'interface graphique Vorta :

L'utilisation de celle-ci simplifie les tâches de Borg, mais il est quand même nécessaire de bien avoir compris les principes de base de Borg (dépots, archives, etc.). Une fois assimilé ces bases, l'utilisation de cette dernière est plutôt intuitive.

Utilisation en ligne de commande :

Toutes les commandes se lanceront via le terminal :
De nombreuses options sont disponibles pour chaque commande, aussi n'hésitez pas à consulter la documentation de Borg Backup afin d'avoir toutes les possibilités permises pour chaque commande.

borg init -e none /path-to-repo

"-e none" signifie pas de chiffrement de la sauvegarde. Si vous souhaitez chiffrer celle-ci, la documentation explique toutes les options disponibles.

borg create /path-to-repo::Lundi ~/src ~/Documents
borg create -v --stats /path-to-repo::Mardi ~/src ~/Documents

Cette sauvegarde sera beaucoup plus rapide et beaucoup plus petite puisque seules les nouvelles données jamais vues auparavant sont stockées. L'option –stats demande à Borg les statistiques de sortie sur l'archive nouvellement créée, comme la quantité de données uniques (non partagé avec d'autres archives)

borg list /path-to-repo

Lundi lun, 15/04/2016 19:14:44 Mardi mar, 16/04/2016 19:15:11

borg list /path-to-repo::Lundi

drwxr-xr-x user group 0 Mon, 2016-02-15 18:22:30 home/user/Documents
-rw-r–r– user group 7961 Mon, 2016-02-15 18:22:30 home/user/Documents/Important.doc

borg extract /path-to-repo::Lundi
borg mount /path-to-repo::Lundi /tmp/mymountpoint

ensuite on peut très facilement y accéder

ls /tmp/mymountpoint

puis démonter le système de fichier

fusermount -u /tmp/mymountpoint

Cette commande est normalement utilisée par les scripts de sauvegarde automatisés qui souhaitent garder un certain nombre de sauvegardes historiques.

Garder les 7 dernières archives journalières ainsi que 4 sauvegardes additionnelles de fin de semaine

borg prune --keep-daily=7 --keep-weekly=4 /path-to-repo

Garder 7 jours de sauvegarde, 4 sauvegardes de fin de semaines et toutes les sauvegardes de fin de mois (Vous remarquerez le "-" devant les sauvegardes mensuelles, spécifier un nombre négatif de sauvegardes signifie qu’on conserve une sauvegarde indéfiniment):

borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=-1 /path-to-repo

Garder toutes les sauvegardes des 10 derniers jours, 4 sauvegardes additionnelles de fin de semaine et toutes les sauvegardes mensuelles

borg prune --keep-within=10d --keep-weekly=4 --keep-monthly=-1 /path-to-repo

Tester tout (dépôt et fichiers sauvegarde) ⇒ Attention : peut prendre un certain temps en fonction de la taille de la sauvegarde…

borg check  /path-to-repo

Tester juste la cohérence du dépôt (plus rapide)

borg check --repository-only /path-to-repo

Astuces

Il est facile d'intégrer Borg dans un script bash en créant une archive par jour :

borg create /path-to-repo::{now:%Y%m%d} ~/src ~/Documents

Ainsi il sera créé chaque jour une sauvegarde différente dont le nom sera sous la forme aaaammjj

Problèmes connus

Erreur "OSError: [Errno 28] No space left on device" :

Dans le cas d'une sauvegarde de taille conséquente, il se peut que Borg plante avec l'erreur ci-dessus bien que l'espace disque où est effectué la sauvegarde soit suffisant. En effet, Borg utilise un espace temporaire pour effectuer la sauvegarde et celui-ci est situé par défaut dans "~/.cache/borg". Si l'espace disque de la partition home est insuffisant pour absorber celui-ci, la sauvegarde n'aboutira pas. Pour contourner cette erreur, il est possible de forcer Borg à utiliser le fichier cache sur une autre partition. Pour ce faire, il suffit de placer en tête du script de sauvegarde l'instruction suivante : export BORG_CACHE_DIR=/mynewpath/cache

Erreur "Failed to create/acquire the lock [REPOSITORY]/lock.exclusive" :

S'assurer qu'aucune sauvegarde Borg est active, puis utiliser la commande "borg break-lock [REPOSITORY] qui devrait résoudre le problème (elle est prévue pour ça…)

Erreur "Failed to create/acquire the lock borg/cache/xxxxxxxxxxxxx" :

S'assurer qu'aucune sauvegarde Borg est active, puis supprimer le fichier "xxxxxxxxxxxxx" répertorié ci-dessus. La prochaine sauvegarde durera un peu plus longtemps, le temps que Borg recréé les fichiers nécessaires.

Désinstallation

Pour supprimer cette application, il suffit de supprimer son paquet. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés.

Voir aussi

—- Contributeurs principaux : dpara.

Basé sur « Borg Backup – Deduplicating backup program » par ruchi.