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

HBZ V0.1 (depreciated) (95) - 8.53 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.

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

  • 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.

Other Links to this Post

Flux RSS des commentaires de cet article. TrackBack URI

Laisser un commentaire

WordPress Themes