Centos 5 et backup-manager

J’ai récupéré le tuto écrit sur fedora-fr.org pour fédora mais à la sauce centos

On créer le fichier qui va contenir le script :

nano install-backup-manager.sh

#! /bin/sh

#*************************************************************************#
# installation de backup manager
# Script by TitaX
#*************************************************************************#

##########variables##########
#choix de la version de backup-manager a installer
#commenter la version que vous ne voulez pas
#############################
#version stable
#VERSION= »0.6.2″
#version dev (par defaut)
VERSION= »0.7.4″
#############################
WGET= »/usr/bin/wget »
TAR= »/bin/tar »
YUM= »/usr/bin/yum »
#recupere la version de perl si vous avez une meilleure technique je suis preneur
PERLV=$(perl -v | grep built | awk ‘{ print $4 }’ | sed ‘s/v//;’)

##########fin de variables##########

#########debut du script##########
# petit nettoyage d’ecran
clear

# seul root peux executer ce script
if test `id -u` != « 0 »; then
echo « il faut etre root pour executer ce script »
else

echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo  » debut de l’installation de backup-manager version $VERSION  »
echo  » merci de patienter … ceci peut prendre quelques minutes … »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »

#telechargement de l’archive de backup-manager
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo  » telechargement de backup-manager  »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
$WGET http://www.backup-manager.org/download/backup-manager-$VERSION.tar.gz

#decompression de backup-manager
$TAR xvfz backup-manager-$VERSION.tar.gz

#changement de repertoire
cd backup-manager-$VERSION

#installation de backup-manager
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « installation de backup-manager »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
make install

#création du fichier de conf
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « creation du fichier de configuration »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
cp /usr/share/backup-manager/backup-manager.conf.tpl /etc/backup-manager.conf

#installation des dépendances
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « installation des depedances requises »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
$YUM -y install perl gettext

#installation des librairies perl
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
echo « installation des librairies perl requises »
echo -e  » \E[32;40m\033[1m################################################\033[0m  »
cp -r BackupManager/ /usr/lib/perl5/site_perl/$PERLV/i386-linux-thread-multi

##fin de l’installation ##
echo «  »
echo -e  » \E[31;40m\033[1m################################################\033[0m  »
echo  » l’installation de backup-manager version $VERSION est terminee »
echo  » n’oubliez pas d’editer le fichier /etc/backup-manager.conf pour configurer vos sauvegardes »
echo -e  » \E[31;40m\033[1m################################################\033[0m  »
fi
#########fin du script##########

Suffit maintenant de rendre le script exécutable grâce à la commande :

chmod +x install-backup-manager.sh

Et enfin vous pouvez l’exécuter en root :

sh install-backup-manager.sh

L’ensemble de la configuration de Backup-Manager se fait via le fichier /etc/backup-manager.conf

Nous allons procéder à la configuration d’une sauvegarde incrémentielle (seul ce qui a été modifié sera sauvegardé) des répertoires /home /root /etc et /var à l’exclusion du sous-répertoire /var/archives qui va contenir nos sauvegardes. La période de rétention sera de 5 jours et les sauvegardes envoyées sur un serveur via le protocole FTP.

Cet exemple de configuration pourra être aisément adapté à vos besoins. Je rappelle que cela est fait à titre d’exemple vous pouvez personnaliser cela rapidement en éditant le fichier /etc/backup-manager.conf, je ne m’intéresserais qu’aux lignes importante de ce fichier.

Modifions donc notre fichier /etc/backup-manager.conf pour arriver à notre politique de sauvegarde :

Notez ici le chemin où seront stockées vos sauvegardes :

export BM_REPOSITORY_ROOT= »/var/archives »

Précisez le nombre de jours de rétention de vos sauvegardes :

export BM_ARCHIVE_TTL= »5″

Le nom de la machine sera aussi le nom de vos fichiers de sauvegarde :

export BM_ARCHIVE_PREFIX= »$HOSTNAME-« 

On va sélectionner une sauvegarde incrémentielle (enregistre que ce qui n’a été modifié depuis la dernière sauvegarde).

export BM_ARCHIVE_METHOD= »tarball-incremental »

Si jamais vous avez une base de données Mysql à sauvegarder il vous suffit de modifier la ligne comme suit :

export BM_ARCHIVE_METHOD= »tarball-incremental mysql »

Modifions le nom du fichier d’archive pour le rendre plus court et plus lisible :

export BM_TARBALL_NAMEFORMAT= »short »

Importante sur cette variable est sur « true » Backup-Manager peut ne pas marcher (vu sur le Bugzilla) :

export BM_TARBALL_OVER_SSH= »false »

On sélectionne les dossiers à sauvegarder :

BM_TARBALL_TARGETS[0]= »/etc »
BM_TARBALL_TARGETS[1]= »/root »
BM_TARBALL_TARGETS[2]= »/var »
BM_TARBALL_TARGETS[3]= »/home »

On exclue des répertoires de la sauvegarde

export BM_TARBALL_BLACKLIST= »/dev /sys /proc /tmp /var/archives »

Les sauvegardes sont maintenant configurées ( n’oubliez pas d’éditer aussi la partie mysql si vous voulez sauvegarder vos bases de données ).

Continuons la configuration avec l’upload de nos sauvegardes sur un serveur ftp On continue donc l’édition du fichier /etc/backup-manager.conf :

On choisit notre methode d’export, pour nous ftp mais scp ou encore ssh sont aussi disponible :

export BM_UPLOAD_METHOD= »ftp »

On indique l’adresse du serveur ftp :

export BM_UPLOAD_HOSTS= »ftp.exemple.fr »

On oublie pas de préciser le chemin ou seront stockées les sauvegardes sur le serveur ftp :

export BM_UPLOAD_DESTINATION= »/backup/archives »

On indique l’utilisateur pour la connexion au serveur ftp :

export BM_UPLOAD_FTP_USER= »thierry »

Notons ici le mot de passe pour la connexion au serveur ftp :

export BM_UPLOAD_FTP_PASSWORD= »p@ssw0rd »

on indique ici que l’on souhaite purger le fichier distant, cette fonction peut aussi être désactivée en notant « false » :

export BM_UPLOAD_FTP_PURGE= »true »