Reindexação ou backup e restore de contas individuais Zimbra em caso de desastres

De Wiki Hackstore

Reindexação

Caso alguma conta apresente problemas de acesso a mensagens ou erros diversos, tente verificar o tamanho da conta de email:

/opt/zimbra/bin/zmmailbox -z -m contato@hackstore.com.br gms

Possíveis erros que podem ocorrer:

ERROR: remote.TIMEOUT (https://webmail.hackstore.com.br:7071/service/admin/soap/) (cause: java.net.SocketTimeoutException Read timed out)

ou

ERROR: service.FAILURE (system failure: com.zimbra.cs.mailbox.MailboxLock$LockFailedException: timeout)

Nesses casos, tente reindexar a conta:

1- Remova o index da conta atual:

rm -rf /opt/zimbra/index/0/$(/opt/zimbra/bin/zmprov gmi contato@hackstore.com.br | grep mailboxId | awk '{ print $2 }')/index/*

2- Reinicie o Zimbra:

# su - zimbra
zmmailboxdctl stop
zmmailboxdctl start


3- Reindexe a conta:

$ zmprov rim contato@hackstore.com.br start

Você pode acompanhar o andamento da indexação utilizando a opção "status":

$ zmprov rim contato@hackstore.com.br status


Backup

/opt/zimbra/bin/zmmailbox -z -m contato@hackstore.com.br getRestURL "//?fmt=tgz" > /root/bkp-contato-hackstore.tgz

Restore

/opt/zimbra/bin/zmmailbox -z -m contato@hackstore.com.br postRestURL "//?fmt=tgz&resolve=skip" /root/bkp-contato-hackstore.tgz

OBS: O parâmetro resolve= tem algumas opções:

  • "skip" ignora ítens duplicados, e é também o default para resolução de conflitos.
  • "modify" Modifica ítens antigos.
  • "reset" irá apagar os diretórios antigos (ou s caixa de correio inteira). "Reset" vai ser um pouco mais rápido em uma caixa de correio de destino vazio porque ele ignora verificações.
  • "replace" irá apagar e re-inserí-los.


Remoção forçada da conta

Caso as soluções anteriores não funcionem, reinicie o zimbra, renomeie a conta problemática, obtenha o ID da mesma para remoção manual das mensagens e dos indices, e remova a conta do LDAP:

zmprov -l deleteAccount contato@hackstore.com.br

Surgirá a mensagem abaixo, bastando pressionar a tecla [Y] e depois tecle [ENTER]:

-l option is specified. Only the LDAP entry of the account will be deleted. 
DB data of the account and associated blobs will not be deleted. 
 
Continue? [Y]es, [N]o: y