Páginas

sexta-feira, 5 de agosto de 2011

ZIMBRA: Restaurar .MSG

FONTE: http://tretasonline.blogspot.com/2011/02/para-comecar.html

Tivemos um problema em um cliente que possui o pacote de colaboração do Zimbra, aconteceu que o cliente acabou perdendo os backups existentes e o zimbra havia parado de funcionar devido a algum problema no Mysql.

Enfim, tentei varias alternativas para concertar o Mysql, porém nada adiantou, depois de muita peleia acabei convertendo a maquina para uma vm em um outro servidor, e depois instalei um zimbra do zero e bastou criar as contas dos usuários...

Mas dai tu me pergunta.. e os e-mails que estavam no outro servidor?

Dai vem a pior parte, como o zimbra não levantava, eu não conseguia efetuar backup das contas, pois o script que tenho para backup faz através de HTTP, então ficou complicado...

Depois de muita busca no google e de muitas noites perdidas devido a grandes quatidades de café, consegui uma fórmula mágica...

Bem, não tão mágica, daria um pouco de trabalho, mas iria funcionar.. Vamos a ela...


O zimbra possui uma pasta onde ele armazena todos os e-mails dos usuários, "/opt/zimbra/store/0/", nesta pasta ficam os arquivos ".msg" de todos as contas, porém, cada usuário possui uma identificação, que é guardada no Mysql do zimbra (justamente o que não tava funcionando), então não tinha como saber que Id era qual usuário..

Entrando na pasta, me deparei com várias outras pastas nomeadas com a id do usuário, e dentro de cada "id" outras pastas com os ".msg" da conta...

Criei então uma conta "teste" no meu servidor zimbra com uma pasta "restaurados", e mandei converter os ".msg" para dentro dela com o seguinte comando...

/opt/zimbra/bin/zmmailbox -z -m teste@zimbrateste01.com.br addMessage /restaurados *.msg

Foi ai que percebi que era possível restaurar as mensagens que até então estavam perdidas nas contas que eu queria...

O maior trabalho foi restaurar as .msg de cada id para descobrir de quem eram aquelas mensages...
Isso demorou quase uma manha inteira, e isso que eram somente 43 contas!! (obviamente não restaurei todas as mensagens de uma conta para saber de quem eram..)

Dai parti pro shell script...

dei um "ls" na pasta com as id's ( já alteradas para os nomes dos respectivos usuários) e concatecei em um arquivo chamado "users", nesse arquivo contia então as pastas com os arquivos ".msg" e consequentemente os usuários que receberiam as mensagens...

Criei então um script que iria ler a lista de usuarios, iria criar uma pasta na conta de cada usuario da lista e também iria restaurar as mensagens de cada usuario/msg para a pasta que eu previamente havia escolhido...

O script foi rodado através de uma "screen" no linux e ficou rodando durante a noite, ao chegar na empresa pela manhã, verifiquei que todas as mensagens haviam sido restauradas..

Sendo assim, a migração das contas foi "praticamente" um sucesso, não foi "completamente" porque não foi possível salvar os "contatos, agenda, tarefas e etc..." das contas, somente as mensagens.. Mas já é alguma coisa, e o cliente ficou com as mensagens, o que sinceramente, é o mais importante né???

Deixo aqui o meu testemunho então de que é possivel restaurar os e-mails de um servidor zimbra corrompido sem ter que fazer todos os testes que eu fiz...

Ex:
Copiar pasta "store" de um servidor pro outro... (não adiantou, pois não identifica as mensagens)
Copiar pasta inteira "/opt/zimbra" - Não adiantou (ainda tive que reconfigurar o zimbra, e serviços que antes funcionavam, haviam parado!)


Se alguem estiver com o mesmo problema, só precisa entrar em contato através do meu e-mail que envio o script que faz tal tarefa...

13 comentários:

  1. Boa noite, na verdade eu não tive o mesmo problema, estou restaurando um backup para titulo de monitoramento. consegui restaurar todas as contas mas não vieram as mensagens. pode me ajudar nessa?? abraço. eliezer.redes@gmail.com

    ResponderExcluir
  2. Boa tarde Lex!!! entao.. bacana seu post ... e acho q seu script pode me ajudar.. se possivel me envie kleber.schneider@gmail.com

    ResponderExcluir
  3. Caro Lex, estou com o mesmo problema. Mudei para o novo servidor, as contas com senhas foram atualizadas, mas os emails nao vieram.
    Pelo que andei vendo no diretorio /opt/zimbra/store/ foi criado novos IDs, por isso não mostra os emails antigos.
    caldeiras@gmail.com
    Se possivel me envie o script.
    Obrigado

    ResponderExcluir
    Respostas
    1. Leandro tenho a soluçao com 2 scritps ...solucao barata... mais eu faço remotamente para vc se interessar skype kleber-schneider
      OBS.: sucesso total para restauracao. email,s contatos , ate historico de endereços enviados.

      Excluir
  4. Lex você ja teve problemas para restaurar contas grandes?

    ResponderExcluir
  5. manda pra mim também robertofreeware@gmail.com.br

    ResponderExcluir
  6. excelente dica se puder enviar o script agrdeco muito kleberednald@gmail.com

    ResponderExcluir
  7. Vai ser a minha salvação me puder me enviar agradeço juliocesarp@unipar.br

    ResponderExcluir
  8. Cara estava precisando desse script heim.. Meu banco de dados MySQL não está corrompido como acesso ele e descubro o id das contas ?

    ResponderExcluir
  9. E ai pessoal,

    A fonte utilizada para esse post foi trazida do meu blog, fico muito feliz de poder esta contribuindo para que todos consigam de certa forma corrigir os problemas com essa ferramenta excelente que é o Zimbra.

    Aproveitando, gostaria de deixar aqui o endereço novo do blog, já que o nome antigo foi utilizado por outra pessoa..

    http://tretasdoadministrador.blogspot.com.br

    Já faz quase dois anos que não trabalho mais com o zimbra, mas possuo vários scripts para criação de contas em massa, alteração de senha em massa, backup e restauração de contas, então se alguém precisar de algo, pode entrar em contato através do meu e-mail: felipeperesdasilva@gmail.com

    Grande abraço a todos..

    ResponderExcluir
  10. Olá, estou com esse problema agora! Pode mandar o script para rf-junior@uol.com.br? Obrigado

    ResponderExcluir
  11. Favor mandar o script para edejairviana@gmail.com

    ResponderExcluir
  12. Estou com problema de mensagens duplicadas nas caixas de email.
    Como faço pra deletar estas mensagens duplicadas.

    ResponderExcluir