Sauvegarde incrémentale avec Borg
Installation
apt install borgbackup borgbackup-doc
Utilisation
Créer un dépôt de sauvegarde :
borg init --encryption=repokey [repertoire de sauvegarde]
On spécifie pas ce qu’on veut sauvegarder à cette étape, juste le répertoire de destination
Pour ne pas chiffrer les sauvegardes, mettez l’option
encryption
ànone
Faire une sauvegarde
borg create [repertoire de sauvegade]::[savename] [repertoire à sauvegader]
Lister les backups
borg list [repertoire de sauvegade]
Lister un backup
borg list [repertoire de sauvegarde]::[savename]
Monter une sauvegarde
borg mount [savefolder]::[savename] /tmp/mymountpoint
Extraire une sauvegarde
borg extract [savefolder]::[savename]
Créer une archive par jour
borg create /path-to-repo::{now:%Y%m%d} ~/src ~/Documents
Nettoyer les sauvegardes
borg prune --keep-daily=24 --keep-weekly=4 --keep-monthly=-1 /repo
Cette commande ne garde que les sauvegardes des 24 derniers jours, ensuite une par semaine pendant 4 semaines et ensuite une par mois à l’infini.
Script sauvegarde containers
#!/bin/bash
export BORG_PASSPHRASE='mdp'
# Nextcloud
cd /home/omer/containers/nextcloud
lxc-stop -n nextcloud
sleep 5
borg create /home/omer/borg/containers/nextcloud::{now:%Y%m%d} .
lxc-start -n nextcloud
borg prune --keep-daily=20 --keep-weekly=4 --keep-monthly=-1 /borg/containers/nextcloud
# Git
cd /home/omer/containers/git
lxc-stop -n git
sleep 5
borg create /home/omer/borg/containers/git::{now:%Y%m%d} .
lxc-start -n git
borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=-1 /borg/containers/git
Je rajoute ensuite une crontab
contab -e
0 4 * * * bash /home/omer/borg/containers/daily.sh >> /home/omer/borg/containers/log.log