Script de Sauvegarde à chaud [HBZ] V0.2
ces scripts ont été testés sur un serveur ubuntu LTS 8.0.4
pour zimbra 5.0.11
Prérequis :
/bin/sh pointe sur /bin/bash
mv/bin/sh /bin/sh.bkp
ln -s /bin/bash /bin/sh
« which mysqldump » doit retourner une valeur
la commande « curl » doit etre installée.
awk installé & dans le path.
Composition du package (hbz.tgz) :
install.sh
hbzuser
hbzallusers
hbzrestore
hbz.conf
hbzutils
Description des fichiers :
install.sh :
Script permettant de Créer / installer / supprimer le package HBZ
création du package :
mettre tous les fichiers dans un même répertoire et lancer la commande : ./install.sh -c
cela créé un fichier ./hbz.tgz qui peut être diffusé.
installation du package :
tar -xzf hbz.tgz
cd hbz
./install.sh
suppression du package :
./install.sh -u
hbz.conf :
Fichier de configuration qui permet de paramétrer le fonctionnement de l'HBZ.
Configuration du type de log à produire
Configuration du répertoire temporaire à utiliser
hbzutils :
Fichier contenant les fonctions utilisées par les commandes hbzuser, hbzallusers & hbzrestore.
Il est chargé par chacune de ces commandes.
hbzuser :
commande permettant de sauvegarder un utilisateur.
utilisation :
hbzuser <userid[@domain]> [ répertoire_de_destination_de_la_sauvegarde | ( défaut "./" ) ]
option disponible :
-v : mode verbeux, Affiche sur la sortie standard le contenu de la log
hbzallusers :
commande permettant de sauvegarder tous les utilisateurs du serveur.
utilisation :
hbzallusers [ répertoire_de_destination_des_sauvegardes | ( défaut "./" ) ] [ Shell_perso ]
le paramètre Shell_perso permet de transmettre au script un shell qui sera appelé à la fin de la sauvegarde de tous les utlisateurs
et qui recevra en paramètre un fichier contenant le chemin et le nom des sauvegarde crée.
option disponible :
hbzrestore :
commande permettant de restaurer une sauvegarde
utilisation :
hbzrstore <backup_file> [ new_userid ]
option disponible :
-v : mode verbeux, Affiche sur la sortie standard le contenu de la log
Exemple d'utilisation :
installation
rm -Rf hbz; cp /source/hbz.tgz ./ ;tar -xvzf hbz.tgz ; cd hbz; ./install.sh ; cd ../
Sauvegarde de tous les utilisateurs vers le répertoire "/backup"
/opt/zimbra/libexec/hbzallusers /backup
sauvegarde d'un utilisateur vers le répertoire /backup
/opt/zimbra/libexec/hbzuser frank /backup
sauvegarde d'un utilisateur dans le répertoire courant avec affichage des log
/opt/zimbra/libexec/hbzuser -v frank
restauration de la sauvegarde de l'utilisateur "frank" en date du 01/07/2008 sur le compte toto
/opt/zimbra/libexec/hbzrestore frank_20080701.tgz toto
restauration de la sauvegarde de l'utilisateur "frank" en date du 01/07/2008 avec affichage des log
/opt/zimbra/libexec/hbzrestore -v frank_20080701.tgz
planification :
Création du répertoire ou l'on va stocker les sauvegardes
mkdir -p /backup/hbz/
ajout d'une planification dans le cron
ajout dans le crontab : (en tant que root cmd : crontab -e)
#sauvagarde de tous les comptes mail du serveur tous les soirs à 00h00 :
0 0 * * * /opt/zimbra/libexec/hbzallusers /backup/hbz/
#suppression des sauvegarde de plus de 10 jours (executer à 01h00)
0 1 * * * find /backup/hbz/ -type f -mtime +10 -a -name "*_[0-9]*.tgz" -exec rm -f {} \;
Note :
- erreur mineur : ERROR: zclient.IO_ERROR (invoke Connection refused, server: localhost) (cause: java.net.ConnectException Connection refused)
==> tentative de connexion sur zimbra pour indexer les mail du compte. peut etre fait plus tard via la consol d'admin
Pas de commentaire
Pas encore de commentaire.
Flux RSS des commentaires de cet article. TrackBack URI