15 oct 2010

Respaldo y restauracion en caliente de cuentas en Zimbra Open Source Edition (Hot backup)

La version Open Source Edition de Zimbra Collaboration Suite es una excelente plataforma de correo y colaboración. Aunque no incluya las utilidades para realizar respaldo  y restauración en caliente (hot backup) al igual que la versión Network Edition, es posible respaldar y restaurar en caliente 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 en Task
Con esto podemos respaldar y restaurar lo mas importante y valioso para nosotros: la información, ya sea correo, contactos, eventos de calendario, etc.

Respaldo


Para realizar el respaldo de una cuenta de correo se debe ejecutar lo siguiente como usuario zimbra:
zmmailbox -z -m cuenta@MailServer.com getRestURL -o cuenta_respaldo.tgz "//?fmt=tgz"

cuenta@MailServer.com: es la cuenta a respaldar
cuenta_respaldo.tgz: es el nombre del archivo donde se respaldara la información de al cuenta
"//?fmt=tgz": es el formato en que queremos salvar el respaldo. Puede ser tgz o zip


Restauración

Para restaura se debe utilizar el mismo comando pero haciendo una pequeña variación las opciones y los argumentos:
zmmailbox -z -m cuenta@MailServer.com postRestURL "//?fmt=tgz&resolve=reset" cuenta_respaldo.tgz

Ahora adicionamos resolve=reset, esto determina como se maneja la información duplicada.
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
Lo utilizo en Zimbra 6.08, corriendo sobre CentOS 5.5. Funciona perfectamente!

3 comentarios:

Anónimo dijo...

Como estas amigo esta muy interesante pero si tengo muchos usuarios en mi servidor de correo como hago para sacar el backup de todos y luego de volver a instalar zimbra restaurar los usuarios ??

Saludos y espero me puedas ayudar ..

Yuangh dijo...

Eso lo puedes hacer con un script.

Con '/opt/zimbra/bin/zmprov -l gaa' puedes obtener la lista de todas las cuentas de correo.

Creas un bucle en shell script y ejecutar la sentencia de mi post con cada una de las cuentas del listado.

Para restaurar harias lo mismo, pero con la sentencia para restaurar.

Nota: antes de restaurar tendras que crear las cuentas de usuario y deben pertenecer al mismo dominio.

Si lo que quieres es que el usuario tenga sus correos en el servidor nuevo, puedes usar imapsync

Dehylus dijo...

Es una solucion excelente, pero podrias dar un pequeño ejemplo, con el fin de poder agregar este script al cron y hacer que se ejecute periodicamente.

Saludos.