Brebis 0.4 : contrôle automatisé de vos sauvegardes

Suivez-moi aussi sur Identi.ca ou sur Twitter 

La version “Mobylette” 0.4 de Brebis a été publiée en début de semaine. Pour rappel Brebis est un logiciel libre (GPLv3) de contrôle automatisé de vos sauvegardes déjà présenté sur ce blog et développé dans le cadre du projet Brebis.

Il est par exemple capable de détecter une corruption d’archive sur différents formats. Il identifie également les modifications qui surviennent sur vos archives ou le contenu de vos archives et vous retournent un rapport détaillé des modifications identifiées, modifications pouvant avoir des causes diverses (problème matériel ou logiciel, erreur humaine, malveillance), pour être certain que vos sauvegardes sont exploitables le jour où vous en aurez besoin.

La principale nouveauté de cette version réside dans  la nouvelle option -g ou –gen-list qui permet de générer automatiquement une liste de tous les fichiers dans une archive, et pour chaque fichier tous ses paramètres (type, taille, uid/gid, mode, somme de hachage). Cette liste est ensuite exploitée par Brebis pour identifier précisément tout changement.

Un exemple vaut mieux qu’un long discours.

Installation à partir des sources

# wget http://brebisproject.org/attachments/download/5/brebis-0.4.tar.gz
# tar zxvf brebis-0.4.tar.gz && cd brebis-0.4
# python3.2 setup.py install --install-scripts=/usr/bin
# mkdir /etc/brebis

Prérequis au contrôle de l’archive

L’archive en question va être le fichier /backups/monthly-backup.tar.gz, nous allons commencer par établir une liste de tous les fichiers dans l’archive, avec tous leurs paramètres. Ceci se fait très simplement à l’aide de la commande suivante :

# brebis -g /backups/monthly-backup.tar.gz
# ls /backups/
monthly-backup.tar.gz monthly-backup.list

Tous les fichiers et répertoires dans votre archive et leurs paramètres ont été enregistrés dans le fichier .list. Libre à vous de l’épurer si vous souhaitez restreindre les contrôles ou même de l’écrire vous-même, son format étant très simple (Plus d’informations à ce sujet dans la documentation du projet Brebis)

Configurer Brebis

Nous sauvons maintenant le fichier monthly-backup.list dans /etc/brebis :

# mv /backups/monthly-backup.list /etc/brebis

Puis nous écrivons la configuration suivante pour notre archive dans le fichier  /etc/brebis/monthly-backup.conf :

[main]
name=monthly-backup
type=archive
path=/backups/monthly-backup.tar.gz
files_list=/etc/brebis/monthly-backup.list

Executer Brebis

Notre contrôle d’archive est maintenant en place. Pour l’effectuer, nous passons la commande suivante :

# brebis -c /etc/brebis/ -l /var/log/brebis.log

Tous les fichiers .conf dans /etc/brebis seront pris en compte. Le fichier /var/log/brebis.log est créé, vide si aucune différence n’est constatée entre l’état actuel de l’archive et l’état enregistré dans /etc/brebis/monthly-backup.list. La moindre différence rencontrée sera notifiée de manière explicite dans le journal de Brebis.

Si par exemple je modifie la somme de hachage d’un des fichiers présents dans /etc/brebis/monthly-backup.list, j’obtiens l’entrée suivante à la prochaine execution de Brebis dans le journal /var/log/brebis.log :

WARNING:root:1 file with unexpected hash while checking
/backups/monthly-backup.tar.gz:
WARNING:root:toto/titi hash is ce4f8cacd8fc702bdd03531b9447818b.
Should have been ce4f8cacd8fc702bdd03531b94478184.

Il ne vous reste qu’à insérer la commande précédente dans la crontab de votre système pour effectuer à intervalle régulier le contrôle de vos données. Vous pouvez aussi provoquer l’envoi d’un e-mail si le fichier brebis.log est non vide, ou toute forme d’alerte qui vous conviendra.

Le site officiel du projet : http://www.brebisproject.org
Liste de diffusion des utilisateurs : https://lists.sourceforge.net/lists/listinfo/brebis-users
Brebis sur Identi.ca : http://identi.ca/brebis and http://identi.ca/group/brebis


			

7 thoughts on “Brebis 0.4 : contrôle automatisé de vos sauvegardes

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *