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

HBZ V0.2 (121) - 9.14 KB

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

Laisser un commentaire

WordPress Themes