Backups no Zimbra

Publicado por Marcos Vinicius Campez em 06/11/2012

[ Hits: 30.734 ]

Blog: http://bytelivre.net

 


Backups no Zimbra



Nesta dica descrevo como criar uma política de backup simples, executar e configurar um backup no servidor de e-mail colaborativo Zimbra utilizando o script ZMBKPOSE.

É extremamente importante ter uma rotina de backup das contas de e-mails do seu servidor Zimbra. O modo mais fácil e eficaz pra isso, é utilizar o script ZMBKPOSE.

Política de backup

Ter uma política de backup bem definida é muito importante para não lhe causar problemas futuros. Segue um exemplo de uma política de backup bem simples:
  • Verificar quantidade de cotas por usuário (ex.: 400 MB por usuário);
  • Verificar quantidade de usuários (ex.: 100 usuários);
  • Verificar rotina de backup (ex.: Tradicional: 4 últimas semanas + 1 de cada mês = 16 arquivos de backups).

Para determinar store do Zimbra:

ZimbraStore = (Quota * Usuário)

Ex.: ZimbraStore = (400 * 100)

ZimbraStore = 40 GB (fora quantidade de GB em sistema operacional + Zimbra)


Para determinar store do backup Zimbra:

BackupStore = (ZimbraStore * Compactação%) * QtdBackup

Ex.: BackupStore = (40 * 50%) * 16

BackupStore = 20 * 16
BackupStore = 20 * 16
BackupStore = 320GB

P.S.: O ZMBKPOSE tem 50% de taxa de compactação.

Instalação

Baixar os scripts nesse site:
Instalar o cURL:

# yum install curl

Criar o diretório /etc/zmbkpose:

# mkdir /etc/zmbkpose

Configurar o arquivo /etc/zmbkpose/zmbkpose.conf:

# vim /etc/zmbkpose/zmbkpose.conf

BACKUPUSER=zimbra #é obrigatório ser o zimbra aqui

O resto das configurações é só colocar os dados do seu servidor Zimbra.

Colocar o script em: /usr/local/bin/zmbkpose

Dar as permissões para o mesmo:

# chmod 777 /usr/local/bin/zmbkpose

P.S.: Não esquecer de dar a permissão para o usuário zimbra escrever na pasta a ser gravada os backups.

Comandos

Conforme a política de backup escrita anteriormente, demonstrarei alguns comandos básicos do script:

Executar como usuário zimbra:

su - zimbra

Full backup de todas as contas:

zmbkpose -f

Voltar full backup de uma conta específica:

zmbkpose -r darth.vader@deathstar.com.br full-20120118132221

Onde:
  • darth.vader@deathstar.com.br = usuário
  • full-20120118132221 = arquivo de backup

Agendamento

Como é recomendado gerar o backup em um horário alternativo ao horário de trabalho da empresa, é muito importante criarmos um script de backup e agendarmos para executar em determinado horário. Necessitamos então criar um script para isso, como exemplo, pode seguir conforme abaixo:

#!/bin/bash
/usr/local/bin/zmbkpose -f

Com o script feito é necessário dar as permissões de execução do mesmo e agendá-lo no arquivo da cron:

# vim /etc/crontab

Conteúdo:

#Todo dia as 22 horas
00 22 * * * root su - zimbra /script/backup_zimbra.sh

Outras dicas deste autor

Servidor FTP ativo no CentOS com o vsftpd

MySQL: Erro: "mysqld dead but subsys locked" [Resolvido]

Seleção de vídeos: licença Creative Commons, Lula no FISL, Maddog e mais

Instalando o LAMP (Linux, Apache, MySQL e PHP) + phpmyadmin

Instalando o Fluxbox no Debian 5.0 (Lenny) em modo texto

Leitura recomendada

CIFS - Montando compartilhamento Windows no Linux

Atualizando para o novo Fedora 22

Fedora 4 + Vmware Server

Causando BufferOverflow em servidores rodando o FreeFloat

Distribuições de Linux existentes

  

Comentários
[1] Comentário enviado por danniel-lara em 06/11/2012 - 14:15h

Muito boa a dica


[2] Comentário enviado por zenatuz em 06/11/2012 - 14:48h

Ao executar esse backup, o serviço é interrompido ou é feito com o mesmo rodando?

[3] Comentário enviado por markintux em 06/11/2012 - 15:07h

danniel-lara,

Muito obrigado!!!

zenatuz,

Muito boa pergunta, esqueci de comentar isso. Quando executa o script de backup o serviço do Zimbra continua ativo. É um backup 'quente'!!

[4] Comentário enviado por zenatuz em 06/11/2012 - 15:11h

Bom saber, vou fazer um teste hoje a noite então.
Obrigado pela dica.

[5] Comentário enviado por markintux em 06/11/2012 - 15:12h

Faça sim! Quaisquer problemas, só entrar em contato aqui comigo!


[4] Comentário enviado por zenatuz em 06/11/2012 - 15:11h:

Bom saber, vou fazer um teste hoje a noite então.
Obrigado pela dica.



[6] Comentário enviado por cooperbr em 13/12/2012 - 13:37h

sabes me dizer porque poderia ser que quando executo o scrip tenho este erro?

zimbra@gasparino:/root$ zmbkpose -f
Could not parse LDAP URI(s)=meudominio.com.br (3)

tentei com o ip, localhhost, mais sempre o mesmo erro

muito obrigado

[7] Comentário enviado por cooperbr em 13/12/2012 - 14:15h

foi burrice minha achei o erro
ldap://meudominio.com.br:389

vlw

[8] Comentário enviado por markintux em 13/12/2012 - 14:59h

HAHAHA! Sem problemas cara! É só executar o comando comentado no script na máquina Windows, que ai você terá o que precisa colocar em cada opição! Precisando, é só perguntar!

Abraços


[7] Comentário enviado por cooperbr em 13/12/2012 - 14:15h:

foi burrice minha achei o erro
ldap://meudominio.com.br:389

vlw



[9] Comentário enviado por Carlos_Cunha em 06/03/2013 - 15:40h

Opa!
Funciona nas versões mais novas como zimbra 7 ou 8??

[10] Comentário enviado por markintux em 12/04/2013 - 13:04h

Funciona sim! Sem problema algum! Já testei nessas duas versões!

Abraços!


[9] Comentário enviado por PretooOO em 06/03/2013 - 15:40h:

Opa!
Funciona nas versões mais novas como zimbra 7 ou 8??



[11] Comentário enviado por dsalvanhini em 07/05/2013 - 08:16h

galera quando rodo a opção zmbkpose -f recebo o erro abaixo, mas quando rodo zmbkpose -f conta@exemplo.com o bkp é efetuado com sucesso.

Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options:
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
-m[fr] val
-W compat --compat
-W copyleft --copyleft
-W copyright --copyright
-W dump-variables[=file] --dump-variables[=file]
-W exec=file --exec=file
-W gen-po --gen-po
-W help --help
-W lint[=fatal] --lint[=fatal]
-W lint-old --lint-old
-W non-decimal-data --non-decimal-data
-W profile[=file] --profile[=file]
-W posix --posix
-W re-interval --re-interval
-W source=program-text --source=program-text
-W traditional --traditional
-W usage --usage
-W version --version

To report bugs, see node `Bugs' in `gawk.info', which is
section `Reporting Problems and Bugs' in the printed version.

gawk is a pattern scanning and processing language.
By default it reads standard input and writes standard output.

Examples:
gawk '{ sum += $1 }; END { print sum }' file
gawk -F: '{ print $1 }' /etc/passwd
/usr/local/bin/zmbkpose: line 59: {print $2}: command not found


[12] Comentário enviado por rafael_r em 11/06/2013 - 08:06h

Bom dia!

Este script se aplica ao Zimbra Open Source Edition?

[13] Comentário enviado por markintux em 11/06/2013 - 11:52h

Sim! É justamente para o Zimbra Open Source Edition!


[12] Comentário enviado por loko137 em 11/06/2013 - 08:06h:

Bom dia!

Este script se aplica ao Zimbra Open Source Edition?



[14] Comentário enviado por ssall em 06/08/2013 - 13:36h

Boa tarde

Estou recebendo a mensagem abaixo, consegue me ajudar?


ldap_bind: Invalid credentials (49)
additional info: 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1

[15] Comentário enviado por rcorgui em 20/11/2013 - 09:10h

Bom dia pessoal,
será que só fui eu que percebi que a ultima conta adicionada não é efetuada o backup quando se roda o zmbkpose -f ?
em todas as versões do script o mesmo não efetua o backup da ultima conta.


[16] Comentário enviado por efcunha em 20/03/2014 - 09:52h

Opa bom dia,

Vc. sabe me dizer se este ZMBKPOSE, esta funcionando na versão ZCS 8.0.6 ?

[17] Comentário enviado por dsalvanhini em 08/05/2014 - 10:07h

Galera na versão 7 estava ok , na versão 8 estou com um erro

rodo o comando zmbkpose -f

ele comeca a fazer op bkp de algumas contas e do nada começa a a aparecer o erro abaixo

100 784k 0 784k 0 0 611k 0 --:--:-- 0:00:01 --:--:-- 739k
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
101 1526 0 1526 0 0 5462 0 --:--:-- --:--:-- --:--:-- 21492
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 742k 0 742k 0 0 996k 0 --:--:-- --:--:-- --:--:-- 1405k

curl: (6) Couldn't resolve host ''

curl: (6) Couldn't resolve host ''

curl: (6) Couldn't resolve host ''

curl: (6) Couldn't resolve host ''

curl: (6) Couldn't resolve host ''
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 675M 0 675M 0 0 4892k 0 --:--:-- 0:02:21 --:--:-- 4714k

[18] Comentário enviado por Tacioandrade em 13/05/2014 - 17:19h

Amigo uma duvida, esse backup dai funciona para tudo, desde os emails, agendas, arquivos compartilhados, etc ou apenas para as contas de email?

Outra duvida que tenho é se a partir dele você sabe se posso fazer o restore em alguma outra ferramenta de email colaborativo em caso de uma futura e necessária migração (para por exemplo o Office 365 ou dele para o Zimbra).


Obrigado desde já pela ajuda. =D

[19] Comentário enviado por andy222 em 07/08/2014 - 13:38h

Boa tarde pessoal! tem uma forma bem facil de fazer backup no Zimbra community, se trata de um add-on que permite recuperar desde um unico email ate um servidor enteiro. O nome dele é Zextras backup.

[20] Comentário enviado por mateusguilherme em 22/11/2014 - 11:33h

Olá

Alguem saberia me dizer porque quando executo o backup full de todas as contas (./zmbkpose - f ) aparece essa mensagem:

curl: (6) Could not resolve host:

Porem se executo o backup manualmente das contas (./zmbkpose -f user@meudominio.com.br) o backup funciona...

utilizei este script https://github.com/bggo/Zmbkpose
e minha versão do zimbra é a 8.5.0

abraço

[21] Comentário enviado por mateusguilherme em 25/11/2014 - 11:18h

olá

resolvi este erro ( curl: (6) Could not resolve host:) da seguinte forma:

alterar as seguintes linhas do script

$(which curl) -k -u $ADMINUSER:$ADMINPASS https://$MAILHOST:7071/home/$MAIL/?fmt=tgz > $TEMPDIR/$MAIL.tgz &

para

$(which curl) -k -u $ADMINUSER:$ADMINPASS https://127.0.1.1:7071/home/$MAIL/?fmt=tgz > $TEMPDIR/$MAIL.tgz &

[22] Comentário enviado por srf em 06/04/2015 - 10:50h

Olá, gostaria de copiar os backup para um Storae. Quais pastas devo copiar?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts