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 obnam.
obnam
obnam envoie les données par SFTP sur un serveur distant. 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.
Ces données sont chiffrées avant d'être posées sur le serveur par l'intermédiaire d'une clé GnuPG. La clé secrète est disponible dans keyringer.
Configuration
Afin de faciliter l'utilisation manuelle de la commande obnam
, et notamment
de ses commandes internes verify
et restore
, on crée un fichier de
configuration /etc/obnam.conf
dans lequel sont spécifiés les paramètres
suivants :
repository = sftp://user@server/path/to/backup
encrypt-with = 1A2B3C4D5E6F7890
Pour faciliter la lecture et l'analyse des opérations, on utilise un fichier
de log dédié, et on organise sa rotation, toujours dans /etc/obnam.conf
:
log = /var/log/obnam/obnam.log
log-keep = 4
log-level = info
log-max = 5M
log-mode = 0640
/etc/backup.d/90.obnam.sh
Le processus de sauvegarde par obnam est ici divisé en plusieurs commandes distinctes, de manière à réaliser l'ensemble d'un cycle sauvegarde, vérification de la sauvegarde et suppression des sauvegardes anciennes :
obnam force-lock
obnam backup /etc /home /root /srv /usr/local /var/backups /var/spool
obnam verify --root /var/backups/timestamp
obnam fsck --fsck-last-generation-only --fsck-ignore-chunks
obnam forget --keep=32d,128w
La première commande supprime un éventuel verrou qui aurait pu rester d'une sauvegarde précédente interrompue (perte de connexion réseau, timeout) ; la seconde effectue la sauvegarde chiffrée proprement dite ; la suivante opère une vérification sur un fichier témoin ; puis un test d'intégrité de la dernière sauvegarde est effectué ; enfin la dernière commande permet d'oublier les sauvegardes anciennes s'il y a lieu.
Voir quelques exemples d'utilisation