El servidor Zimbra debe tener el cliente Bacula instalado y configurado, y el siguiente script debe estar en la misma máquina. La secuencia de comandos lista todos los cuadros de correo electrónico de Zimbra (zmprov -l gaa) y realiza una copia de seguridad en línea de cada una de ellas directamente a Bacula, a través del plugin bpipe.
En la restauración de la caja el proceso es automático, siendo que mensajes, eventos de calendario y todos los demás elementos del usuario se restauran automáticamente a Zimbra. Los elementos similares existentes no se sobrescriben (skip).
La secuencia de comandos proporciona los niveles incrementales (2 últimos días de los cambios en las cajas); Diferencial (últimos 7 días); y completo (toda la caja). Puede modificar estos valores en el script mismo.
El restore es automático requiere algún espacio en disco en el servidor de Zimbra, debido a una limitación del comando postRestURL que no permite leer los datos directamente del FIFO.
#!/bin/bash # # Autoria: Heitor Faria (Copyleft: all rights reversed). # Testado por: xxxx # # Deve ser chamado no sub-recurso INCLUDE do FileSet do bacula-dir.conf, referente ao backup do cliente instalado na máquina do Zimbra (por exemplo): # # Plugin = "\|/etc/bacula/bpipe_zimbra.sh %l" # level=$1 if [ $level == Incremental ] then query="&start=-2days" fi if [ $level == Differential ] then query="&start=-7days" fi zimbra_command="/opt/zimbra/bin/zmmailbox -z -m" for zimbra_user in $(/opt/zimbra/bin/zmprov -l gaa); do echo "bpipe:/var/$zimbra_user.tar:$zimbra_command $zimbra_user -t 0 getRestURL '/?fmt=tar$query':dd of=/tmp/$zimbra_user.tar && $zimbra_command $zimbra_user -t 0 postRestURL -i '//?fmt=tar&resolve=skip' /tmp/$zimbra_user.tar" done
Algumas imagens
Disponível em: Português (Portugués, Brasil)English (Inglés)Español