Outils pour utilisateurs

Outils du site


borgbackup

Ceci est une ancienne révision du document !


borgbackup "borg"

Borg est un utilitaire de sauvegarde, dont le principal avantage est la déduplication.

En bref, On crée un repository (un fichier/dossier linux), dans lequel on peut créer des archives qui contiennent les dossiers et fichiers que l'on souhaite sauvegarder. Les données sont stockées sous forme de blocs, et on ne trouve pas dans tout le repository 2 blocs identiques, les données sont dédupliquées (1 bloc peut servir à plusieurs fichiers).

Parmi les fonctions sympa, on va retrouver une vérification d'intégrité, la possibilité de prune les archives (c'est à dire de n'en garder qu'un certain nombre, comme la stratégie de stockage grand pere, pere, fils), et la sauvegarde à distance sur une autre machine.

Gérer un repo borg

Création/initialisation d'un repo

ça commence par la création du repository :

borg init --encryption=repokey /path/to/repo

NOTES :

  • Un repository nécessite une méthode de chiffrement, l'argument –encryption est indispensable. Cela peut être un mdp repokey, un fichier de chiffrement keyfile, ou rien none
  • L'option –append-only permet les prunes et delete, mais pas le compact (les données ne sont pas donc pas supprimées)

Pour plus de facilité, notamment dans un script automatisé, on peut définir des variables d'environnement pour définir l'accès au repository :

BORG_REPO=/path/to/repo/
BORG_PASSPHRASE='aAbBcCdDeE1234'  # avec ou sans ' '

Créer une archive

Maintenant que le repository existe, on peut ajouter des données dedans. Lors d'un ajout, toutes les données sont contenues dans une archive, il est commun de donner la date dans le nom

borg create /path/to/repo::Monday ~/src ~/Documents
# ici l'archive s'appelle Monday

Note : si le repo n'est pas initialisé, on aura une erreur. Pratique si on a un mount qui peut ne pas marcher : aucun risque de mettre des données n'importe où

Consulter le repo / une archive

2 outils existent : info et list

## --- info ---
# sur un repo : donne la taille du repo (dedupliquée = sur le disque, originelle si extrait)
borg info /path/to/repo/
 
# sur une archive : donne la taille de l'archive et du repo (dedupliquée = sur le disque, originelle si extrait)
borg info /path/to/repo::archive-name
 
 
## --- list ---
# sur un repo : donne la liste des archives qui compose le repo, avec la date de création des archives
borg list /path/to/repo/
 
# sur une archive : donne la liste des fichiers et dossiers contenus dans l'archive
borg list /path/to/repo::archive-name

Note: le path des fichiers et dossier est conservé, hein ;)

Extraire des données

# extraire les données d'une archiveavec des chemins relatifs au dossier actuel 
cd /current/folder/
borg extract /path/to/repo::archive-name
 
# extraire seulement quelques fichiers
# ?

Supprimer une archive

## -- delete --
# Supprimer l'archive, mais ne libère pas l'espace disque
borg delete /path/to/repo::archive-name
 
## -- compact --
# recupérer de l'espace disque en compactant les segments de fichiers (notamment des archives supprimées)
borg compact /path/to/repo

Note : on peut aussi prune le repo, pour une suppression automatique d'archives selon des critères définis #stratégieDeSauvegarde

borgbackup.1751747003.txt.gz · Dernière modification : de luc