Script de Sauvegarde à chaud [HBZ] V0.1 (depreciated)
ces scripts ont été testés sur un serveur ubuntu pour les versions zimbra 5.0.3, 5.0.4
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.
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 {} ;
Un commentaire
Other Links to this Post
Flux RSS des commentaires de cet article. TrackBack URI
By Loïc, 8 janvier 2009 @ 16:24
Bonjour,
et tout d'abord, trés beau boulot. Le script de sauvegarde fonctionne trés bien, néanmoins, j'ai une erreur lors de la restauration :
ERROR 1025 (HY000) at line 1: Error on rename of './hbztmp/imap_folder' to './hbztmp/#sql2-24c9-988d' (errno: 152)
Infos système :
Zimbra 5.0.11 64 bits (testé aussi avec 32 bits et même erreur)
Ubuntu 8.04 LTS 64 bits (ou 32 bits)
Après restauration, je ne peux plus modifier quoi que ce soit dans le calendrier ou le carnet d'adresse, comme si la base mysql était corrompu... D'avance merci pour votre aide.