São várias as opções do Bacula para backup de Zimbra:
- Já vimos anteriormente como utilizar o bpipe do Bacula e o comando zmailbox do Zimbra (Livre e Network) para exportar as caixas de email diretamente para o storage de backup sem armazenar nada na máquina do cliente de backup: http://www.bacula.com.br/backup-do-zimbra-granular-de-caixas-de-email-e-restore-automatico-com-o-bacula-e-plugin-bpipe/
- O EBacula (Bacula Enterprise) dispõe de um plugin bara backup e restore automático granular dos objetos do Zimbra. Fale conosco para mais informações.
- Integração com a funcionalidade de Backup do Zimbra Network (versão corporativa), de que iremos falar neste artigo.
O Backup do Zimbra Network Edition (https://wiki.zimbra.com/wiki/5.0.x_Network_Edition_Backup_and_Restore) é operado pela console gráfica do Zimbra e aparentemente não dispõe de funcionalidade de named pipes. Dessa maneira, é necessário espaço na máquina cliente do Zimbra para armazenar ao menos um backup Full e alguns Incrementais. A vantagem disso é que o administrador do Zimbra pode restaurar objetos de maneira bastante rápida. Para uma maior retenção e disaster recovery, copiamos esses backups para o Storage do Bacula.
Script Pré-Backup do Bacula (ClientRunBeforeJob)
Com o seguinte script configurado na diretiva ClientRunBeforeJob do Bacula, quando executar um Job de backup ele irá iniciar um backup local do Zimbra Network Edition. Se iniciar um backup Full do Bacula, o script executará um Full no Zimbra. Se iniciar um Diferencial ou Incremental do Bacula, ele iniciará um incremental no Zimbra.
#!/bin/bash # # ClientRunBeforeJob # /opt/bacula/scripts/bacula_zimbra.sh %l # # Include # /opt/zimbra/backup/ # # Script para iniciar backup do Zimbra Network # # Autoria: Heitor Faria. # Testado por: xxxx # if [ $1 == Differential ] then sudo -u zimbra /opt/zimbra/bin/zmbackup -i elif [ $1 == Incremental ] then sudo -u zimbra /opt/zimbra/bin/zmbackup -i elif [ $1 == Full ] then sudo -u zimbra /opt/zimbra/bin/zmbackup -f -a all else echo "Backup level not identified" fi
Como mostrado na Figura 1, se estiver usando o Bacula Enterprise, pode configurar os scripts pré e pós job de backup pela exclusiva interface gráfica Bweb.
Figura 1. Configuração Jobs Bweb
FileSet
A pasta padrão onde o Zimbra Network armazena os backups é /opt/zimbra/backup/. Tenha certeza de especificar no Include do FileSet. Ex.:
Fileset { Name = "zimbra_networkbkp_integration" Include { Options { Compression = Lzo Signature = Md5 } File = "/opt/zimbra/backup/" } }
Como exibido na Figura 2, se estiver usando o Bweb pode acrescentar o Include no FileSet, através do navegador de arquivos e diretórios.
Figura 2. Configuração FileSet do Bweb, navegador de arquivos no Cliente
Script Pós-Backup do Bacula (ClientRunAfterJob)
Com o seguinte script configurado na diretiva ClientRunAfterJob do Bacula, você pode eliminar os backups locais da máquina Cliente do Zimbra após determinado tempo.
No exemplo seguinte utilizei 7 dias, que seria o tempo necessário para fazer um backup full semanal e incrementais diários. Tempos maiores podem ser utilizados.
echo " #!/bin/bash # # ClientRunBeforeJob # /opt/bacula/scripts/bacula_zimbra_delete.sh # # Script para apagar backups Zimbra Network após 7 dias # # Autoria: Heitor Faria. # Testado por: xxxx # sudo -u zimbra /opt/zimbra/bin/zmbackup -del 7d" > /opt/bacula/scripts/bacula_zimbra_delete.sh
Conclusão
Hoje o CBacula e Ebacula são as ferramentas de backup mais completas do mercado, provendo uma solução livre para usuários que querem usar pipes nomeados e scripts para backup de aplicações específicas, o Bacula Community, e outra solução proprietária para os usuários que querem adquirir uma solução mais automatizada e com funcionalidades mais avançadas, o Bacula Enterprise.
Fale conosco hoje mesmo. Podemos reduzir bastante os custos com o backup com alta qualidade.
Disponível em: PortuguêsEnglish (Inglês)Español (Espanhol)