Les sauvegardes de bulbe.nos-oignons.net sont pilotées par backupninja.
Voir quelques notes d'installation.
backupninja
La configuration de backupninja se fait à travers /etc/backupninja.conf
et surtout à travers les fichiers posés dans /etc/backup.d
. Ces derniers
seront traités en séquence afin de réaliser l'opération de sauvegarde.
L'idée est d'abord de collecter toutes les informations qui ne sont pas
immédiatement accessibles (liste des paquets, description des partitions, dumps
PostgreSQL, etc.) dans /var/backups
.
Une fois cela fait, la dernière étape sauvegardera les différents dossiers à
sauvegarder, dont /var/backups
vers un serveur distant. Pour cela, on va
utiliser Borg.
Borg
Borg envoie les données via SSH sur un serveur distant hébergé chez Globenet. Le compte SSH s'y
appelle nos-oignons
. Une copie de la clé SSH qui permet d'accéder au serveur
se trouve dans le trousseau keyringer.
Configuration
Toute la configuration de Borg se fait via le fichier 80.borg.sh
/etc/backup.d/80.borg.sh
La première partie configure le repo et le mot de passe nécessaire pour l'utilisation de la clef :
# Setting this, so the repo does not need to be given on the commandline:
export BORG_REPO=ssh://nos-oignons@[domaine_de_backup_de_globenet.org]/~/borg/
# See the section "Passphrase notes" for more infos.
export BORG_PASSPHRASE="Mot_de_passe..."
Pour le bon fonctionnement, il est nécessaire d'avoir configurer .ssh/config
du user sous lequel est lancé le backup (root en l'occurence) :
Host [domaine_de_backup_de_globenet.org]
User nos-oignons
IdentityFile [chemin_vers_la_clef_privée]
De retour dans 80.borg.sh
, le backup se fait via la commande suivante :
# Backup the most important directories into an archive named after
# the machine this script is currently running on:
borg create \
--verbose \
--filter AME \
--list \
--stats \
--show-rc \
--compression lz4 \
--exclude-caches \
--exclude '/home/*/.cache/*' \
--exclude '/var/tmp/*' \
\
::'{hostname}-{now}' \
/etc \
/home \
/root \
/srv \
/usr/local \
/var/backups \
/var/spool \
Nous conservons 7 sauvegardes journalières, les 4 dernières hebdomadaires et les 6 dernières mensuelles.
Voir quelques exemples d'utilisation