Aller au contenu

Prérequis: installer borgbackup. Sur Debian et dérivée, c'est simple:

apt install borgbackup

Créer un dépôt de sauvegarde

Pour utiliser borgbackup, il va falloir préparer un répertoire vide, créer normalement pour l'occasion.

On pourra utiliser un navigateur de fichier et créer un dossier classiquement, ou bien avec mkdir

mkdir /chemin-vers-depot/mon-dossier-de-save

Ensuite, on va utiliser l'option init afin de préparer le dossier au fonctionnement de borgbackup.

borgbackup init -e none /chemin-vers-depot/mon-dossier-de-save

-e: on précisera le chiffrement voulu, ici none= aucun.

Créer un dépôt de sauvegarde chiffré

Pour créer un dépôt de sauvegarde chiffré cette fois, il y a deux options:

repokey: Crée une clé dans le dépôt de sauvegarde, il faudra un mot de passe, ou phrase de passe, pour y accéder. keyfile: Crée une paire de clé, une dans le dépôt de sauvegarde et une dans le dossier ~/.config/borg/keys. Une phrase de passe peut-être ajoutée. Dans le même principe qu'avec les clés de chiffrements asymétriques de SSH ou GPG, il faut bien penser à sauvegarder (dans un endroit sûr !) les clés du dossier ~/.config/borg/keys

ex:

borg init -e repokey(ou)keyfile /chemin-vers-depot/mon-dossier-de-save

Exemple concret:

borg init -e keyfile /home/jo/depot-save

Liste des fichiers de clé présent dans ~/.config/borg/keys:

ls ~/.config/borg/keys

depot_save

Créer une sauvegarde

Une fois le dépôt préparer, on va pouvoir lancer une première sauvegarde. On utilisera l'option create

borgbackup create /chemin-vers-depot/mon-dossier-de-save::backup1  /home/user/Documents

Lister le contenu d'un dépôt de sauvegarde

Pour voir le contenu d'un dépôt de sauvegarde, on utilisera l'option list

borgbackup list /chemin-vers-depot/mon-dossier-de-save

Le resultat sera de la forme:

 06.09.2019-10:00:01                  Fri, 2019-09-06 10:00:02 [5de6dfea53a13dbdd56a6fcca8457fb14afbb5c1561558c1f656298b034e9be3]
 06.09.2019-10:30:01                  Fri, 2019-09-06 10:30:02 [0afc41640dcad593e83679661f407ac536d920f945307df9e11852de558236bf]
 06.09.2019-11:00:01                  Fri, 2019-09-06 11:00:01 [bc04ee778f80767f52b2250c73b918f5558c14cdca2d5bc645812576fb41716f]
 06.09.2019-11:30:01                  Fri, 2019-09-06 11:30:02 [6f9ddb719ce026cb7dfc8ef973faf8b81b8222e7bd695c977a3518a07359a440]
 06.09.2019-12:00:01                  Fri, 2019-09-06 12:00:01 [2777a603369fde3ff6a005ccda702cfc6849ede2a936847dec97b75a9623a577]
 06.09.2019-12:30:02                  Fri, 2019-09-06 12:30:02 [b80b3a234bc3756ba8ed00015ce8914f2711a9c2883a5728ab4ba182fb5ab0b5]
 06.09.2019-13:00:02                  Fri, 2019-09-06 13:00:02 [7219efcd7857398d87b57cc95d57c232df21d510659cf471b6348abcd082a966]
 06.09.2019-13:30:01                  Fri, 2019-09-06 13:30:02 [db438bd05d23b25798c9e519e708759fb018f80fc67c355b7e67ebf56c028e00]
 06.09.2019-14:00:01                  Fri, 2019-09-06 14:00:01 [0ac857bf9321c321db743e79de08fbdaac9ccaaa18ba163034cd9cf7a3ea12e1]
 06.09.2019-14:30:01                  Fri, 2019-09-06 14:30:01 [a05d0539a2b0a4f3c063a64366c9982a5d8be30b96916fe1138cb9dac55b9774]

On peut lister le contenu d'un backup à l'intérieur d'un dépôt:

borgbackup list /chemin-vers-depot/mon-dossier-de-save::backup1

Extraire un fichier ou un dossier d'un backup

Après avoir lister le contenu, on peut extraire un fichier ou un dossier avec l'option extract

borgbackup extract /chemin-vers-depot/mon-dossier-de-save::backup1 /chemin-vers-dossier/mon-fichier

Monter/Démonter une sauvegarde dans un point de montage

Pour monter une sauvegarde dans un point de montage, on utilisera l'option mount

borgbackup mount /chemin-vers-depot/mon-dossier-de-save::backup1 /mnt/mon-point-de-montage

Pour démonter ce point de montage, c'est simple, on utilisera cette fois l'option umount

borgbackup umount /mnt/mon-point-de-montage

Rotation des sauvegardes

Pour la rotation, tout est prévu, on utilisera l'option prune (prune= nettoyer, élaguer...)

borgbackup prune --keep-last 10 /chemin-vers-depot/mon-dossier-de-save

--keep-last 10: Garde, ici, les 10 derniers backups

Voici les différentes option de prune:

-n, --dry-run: do not change repository --force: force pruning of corrupted archives -s, --stats: print statistics for the deleted archive --list: output verbose list of archives it keeps/prunes --keep-within INTERVAL: keep all archives within this time interval --keep-last, --keep-secondly: number of secondly archives to keep --keep-minutely: number of minutely archives to keep -H, --keep-hourly: number of hourly archives to keep -d, --keep-daily: number of daily archives to keep -w, --keep-weekly: number of weekly archives to keep -m, --keep-monthly: number of monthly archives to keep -y, --keep-yearly: number of yearly archives to keep --save-space: work slower, but using less space

Exemple de script d'automatisation

#!/bin/bash

depot='/mnt/auto/coin-a-jojo-srv/save-mozilla'

borgbackup create $depot::{now:%d.%m.%Y-%H:%M:%S} /home/jo/.thunderbird /home/jo/.mozilla

borgbackup prune --keep-last 10 $depot

{now:%d.%m.%Y-%H:%M:%S}: donnera, en nom de fichier la date, le mois, l'année, l'heure, les minutes et les seconde au moment de la sauvegarde

Dans le cas d'un dépôt paramétré en mode repokey, on pourra ajouté le mot de passe avec l'option export BORG_PASSPHRASE

#!/bin/bash

export BORG_PASSPHRASE='ma_super_phrase_de_passe'
depot='/mnt/auto/coin-a-jojo-srv/save-mozilla'

borgbackup create $depot::{now:%d.%m.%Y-%H:%M:%S} /home/jo/.thunderbird /home/jo/.mozilla

borgbackup prune --keep-last 10 $depot

Sauvegarder tout un système complet

Pour faire une sauvegarde complète de la partition racine "/" d'un système linux on utilisera une option supplémentaire: --one-file-system. Cette option permettra de ne copier que les fichiers et dossiers utiles au fonctionnement du système. Elle exclura donc les dossiers: (/dev, /var,...)

borgbackup create --one-file-system /chemin-vers-depot/mon-dossier-de-save::image-systeme /

Il est possible d'exclure un répertoire ou des fichiers avec l'option: --exclude

exemple:

borgbackup create --one-file-system --exclude=/var/lib/lxc /chemin-vers-depot/mon-dossier-de-save::image-systeme /

Vérifier l'intégrité d'un dépôt

borgbackup check -v /chemin-vers-depot/mon-dossier-de-save

-v: mode verbeux, pour avoir de l'info.

Voir la doc officiel: [https://borgbackup.readthedocs.io/en/stable/index.html https://borgbackup.readthedocs.io/en/stable/index.html]