Está en la página 1de 2

Backup 

y restauración de buzones en Zimbra
Open Source Edition

La version Open Source de Zimbra es una excelente plataforma de
correo y colaboración. Aunque no incluya las utilidades para realizar
backups y restauración, al igual que la versión Network Edition, es
posible respaldar y restaurar las cuentas de correo
utilizando zmmailbox.

Los respaldos realizados con zmmailbox incluyen:

Todas las carpetas de correo (Inbox, Sent, Draft, etc)
Las entradas de la libreta de direcciones
Las entradas del calendario
Las Tareas
Los archivos de Mi Maletín

Con esto podemos respaldar y restaurar lo mas importante y
valioso para nosotros: la información, ya sea correo, contactos,
eventos de calendario, etc.

Backup
Para realizar el respaldo de una cuenta de correo se debe ejecutar
lo siguiente como usuario zimbra:

     zmmailbox ­z ­m cuenta@servidor.com getRestURL ­o cuenta.tgz “//?
fmt=tgz”

cuenta@servidor.com: es la cuenta a respaldar
cuenta.tgz: es el nombre del archivo donde se guardará la
información de la cuenta
“//?fmt=tgz”: es el formato en que queremos salvar el
respaldo. Puede ser tgz o zip

Restauración

Para restaurar se debe utilizar el mismo comando pero haciendo
una pequeña variación las opciones y los argumentos:

     zmmailbox ­z ­m cuenta@servidor.com postRestURL  “//?
fmt=tgz&resolve=reset” cuenta.tgz

Las opciones de resolve pueden ser:

modify: modifica el elemento viejo
replace: borra el elemento viejo y lo vuelve a crear
reset: borra todos los elementos de la carpeta antes de
importar
skip: no importa los elementos duplicados

En mi caso particular, y para un cliente, he creado y probado un
script (muy básico…) para hacer las copias de todos los buzones y
borrar los anteriores a 15 días. Y como tal, se debe considerar una
versión pre­alfa.
#/bin/bash
##
# JSJ 2012

BACKUP_DIR=/opt/backup
DATE=`date +%d%b%Y`
# LOG=$BACKUP_DIR/$DATE/$DATE.log
# touch $BACKUP_DIR/$DATE/$DATE.log
mkdir $BACKUP_DIR/$DATE
touch $BACKUP_DIR/$DATE/$DATE.log
LOG=$BACKUP_DIR/$DATE/$DATE.log
OLD=$(date +%d%b%Y –date=’15 days ago’)
# Generamos una lista de usuarios y la guardamos en usuarios.txt
/opt/zimbra/bin/zmprov ­l gaa >>
$BACKUP_DIR/$DATE/usuarios.txt
for user in `cat $BACKUP_DIR/$DATE/usuarios.txt`; do
echo ” Generando backup de ” $user “” >> $LOG
# Exportamos los buzones de cada usuario en un fichero con el
formato usuario.tgz.
sudo ­u zimbra /opt/zimbra/bin/zmmailbox ­z ­m $user getRestURL
“//?fmt=tgz” > $BACKUP_DIR/$DATE/$user.tgz
done
if [ ­d $BACKUP_DIR/$OLD ] # Si el directorio existe..
then
echo “Borramos la carpeta de hace 15 días.” >> $LOG
rm ­rf /opt/backup/$OLD
else
echo “La carpeta de hace 15 días no existe. No hacemos nada.” >>
$LOG

También podría gustarte