Outils pour utilisateurs

Outils du site


borgbackup

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

borgbackup [2017/04/12 18:42] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag> backup }}
 +
 +===== BorgBackup =====
 +
 +ref: https://​github.com/​borgbackup/​borg/​blob/​master/​docs/​usage.rst
 +
 +https://​borgbackup.readthedocs.io/​en/​stable/​book.html
 +
 +Mise en œuvre d'une sauvegarde chiffrée et externe
 +
 +chez [[:​clients:​richebourg]]
 +
 +==== Installation ====
 +
 +Le plus simple est de récupérer la version binaire précompilé à partir du lien
 +//​releases//​ de la page github du projet
 +
 +Copier dans /usr/bin
 +
 +Rendre exécutable par tout le monde.
 +
 +Sinon sur [[raspberry|arm]] / [[:​zebrine]]:​
 +
 +change /​usr/​bin/​python to python3
 +<​code>​
 +apt-get install libacl1-dev liblz4-dev
 +pip install borgbackup
 +</​code>​
 +
 +La commande sera borg dans /​usr/​local/​bin
 +==== Prérequis ====
 +
 +Un compte ssh sur le serveur de backup. On peut limiter l'​utilisation de la clé:
 +
 +<​code>​
 +cat ~user/​.ssh/​authorized_keys
 +command="​borg serve --restrict-to-path /​srv/​nas/​richebourg/​nfs/" ​ ssh-ds...
 +</​code>​
 +
 +/​srv/​nas/​richebourg/​nfs étant le **dépot de sauvegarde**
 +
 +
 +==== Créer le dépôt ====
 +
 +La commande suivante va mettre en place le dépôt et générer la clé utilisé pour
 +le chiffrement:​
 +
 +<​code>​
 +borg init --encryption=repokey ​  \
 +  richebourg@backup.opendoor.fr:/​srv/​nas/​richebourg/​nfs
 +</​code>​
 +
 +La clé de chiffrement sera stockée dans le dépôt - fichier //config//.
 +
 +Se souvenir de la passphrase fournie est bien évidemment essentiel si vous
 +souhaitez pouvoir retrouver vos données.
 +
 +==== Sauvegarder ====
 +
 +Lancer la commande suivante:
 +<​code>​
 +borg create --stats --compression lzma,5 \
 +  richebourg@backup.opendoor.fr:/​srv/​nas/​richebourg/​nfs::​2016.02.15 \
 +  répertoire_à_sauvegarder
 +</​code>​
 +
 +Dans cette exemple c'est une sauvegarde manuelle : la passphrase nous sera
 +demandée, mais on peut la communiquer directement au programme via la variable
 +d'​environnement BORG_PASSPHRASE
 +
 +==== Supprimer les sauvegardes les plus anciennes ====
 +
 +<​code>​
 +borg prune richebourg@backup.opendoor.fr:/​srv/​nas/​richebourg/​nfs/​ \
 +  --keep-daily=15 --dry-run
 +</​code>​
 +
 +==== Archiver ====
 +
 +la sous-commande //prune// accepte aussi les flags --keep-{weekly,​monthly,​yearly} permettant de définir des critères de rétention intéressants.
 +
 +
 +==== Afficher des infos ====
 +Afficher la liste des archives:
 +<​code>​
 +borg list richebourg@backup.opendoor.fr:/​srv/​nas/​richebourg/​nfs
 +</​code>​
 +
 +Afficher le contenu d'une archive:
 +<​code>​
 +borg list richebourg@backup.opendoor.fr:/​srv/​nas/​richebourg/​nfs::​nfs_20151215
 +</​code>​
 +
 +Afficher les détails (incréments,​ taille, etc) d'un dépôt:
 +<​code>​
 +borg info richebourg@backup.opendoor.fr:/​srv/​nas/​richebourg/​nfs::​nfs_20151215
 +</​code>​
 +
 +==== Restaurer ====
 +borg extract REPO::​archive
 +
 +On peut utiliser l'​option -n (dry-run) pour voir ce qui va être réalisé.
 +
 +La restauration se fait dans le répertoire courant, l'​arborescence est recréée.
 +
 +==== Chercher un fichier ====
 +paquet nécessaire:​ fuse
 +On peut monter une archive:
 +
 +
 +<​code>​
 +/​usr/​local/​bin/​borg mount ${BORG_REPO}::​zebrine.opendoor.fr_20170111 borg
 +</​code>​
 +
 +et parcourir son contenu
 +
 +==== Vérifier ====
 +
 +Le meilleur moyen est de tenter une restauration.
 +
 +Sinon on peut monter l'​archive afin de s'​assurer de sa lisibilité
 +
 +Ou faire une restauration avec l'​option --dry-run
 +
 +Surtout on peut faire un //borg check -v REPOSITORY//​
 +
 + ==== Quelques métriques ====
 +
 +chez [[:​clients:​richebourg]] :
 +
 +  * démarrage à 1h32 (49Go)
 +  * à 12:30 : borg indique 22GB O 13,26GB C 8.77
 +  * le cache et tmp local sont vides
 +  * à 12:30 : sur serveur distant : 8.3G
 +  * à 17:12 : borg indique 30GB 0 17.3GB C 11.77
 +  * à 17:12 : sur serveur distant : 12G
 +  * terminé après 1d 4h - espace utilisé sur /mnt : 300mo espace utilisé sur
 +  * //backup// : 21G soit **un beau taux de compression**
 +
 +==== Astuces ====
 +
 +Afin de limiter la taille des lignes de commandes on peut définir les variables d'​environnement suivante:
 +  - BORG_CACHE_DIR
 +  - TMPDIR
 +  - BORG_PASSPHRASE
 +
 +=== Messages ===
 +
 +Quand borgbackup semble mal fonctionner,​ se plante avec des messages d'​erreurs bizarres, vérifier l'​espace disque utilisé (notamment par le cache $BORG_CACHE_DIR )
 +
 +
 +==== Troubleshooting ====
 +
 +  * borg repair sur archive de 41 Go, borg 1.0.10 ; lancé à 20h14 , fini à 20h38
 +
 +# vim: set filetype=dokuwiki:​
  
borgbackup.txt · Dernière modification: 2017/04/12 18:42 (modification externe)