Assim após ter efectuado os backups para um servidor de backups por rsync (passos que colocarei mais tarde), importa ter a certeza como recuperar os ficheiros no caso de necessidade de reposição das mensagens de uma conta.
As mensagens encontram-se na pasta /opt/zimbra/store , sendo que dentro desta temos duas subpastas “0” e “incoming”.
As mensagens encontram-se na pasta “0” e dentro desta teremos várias pastas também com numeros que corresponde uma a cada utilizador.
Primeiro problema… qual a pasta do utilizador em questão?
Solução encontrada, fazer os seguintes passos:
Usar o utilizador zimbra:
su - zimbra
Procurar a password do mysql:
zmlocalconfig -s | grep mysql | grep password
Deverá aparecer várias linhas em que uma delas será a password de root do mysql.
De seguida encontrar o id do utilizador:
mysql -u root -p
Colocar a password obtida anteriormente.
mysql>use zimbra;
mysql>SELECT id FROM mailbox where comment like '{c45df18174c7938ab550f3e1ba063b40ccb1f6c164baaa8f410d5ce93a23ad37}{c45df18174c7938ab550f3e1ba063b40ccb1f6c164baaa8f410d5ce93a23ad37}';
Iremos obter um id que corresponderá ao nome da pasta (um numero) que contêm as mensagens.
Após isto já saberemos qual a pasta do utilizador em questão e acedendo à pasta do mesmo poderemos obter as mensagens.
Segundo problema … as subpastas numeradas correspondem a que pasta na lista do utilizador?
Não sei 🙂 “trial and error”, o que podemos fazer é repor as mensagens na conta do utilizador.
Ver o link http://www.zimbra.com/forums/installation/12617-recover-data-store-folders.html que contêm algumas sugestões que poderão ajudar.
O que eu fiz foi copiar as mensagens do servidor de backup de volta para o servidor do zimbra para a pasta /opt/zimbra/backup e de seguida importei as mensagens para a conta do utilizador:
Assumindo que as subpastas encontram-se em /opt/zimbra/backup/
zmmailbox adminAuthenticate
zmmailbox -zadmin
Seleccionar a mailbox para efectuar a reposicao
selectMailbox user@domain
Criei uma pasta para cada das pastas que pretendia repôr:
mbox>createFolder /Recuperacao
mbox>addMessage /Recuperacaobackup/ /
Repeti o createFolder e o addMessage para cada uma das pastas que pretendia repôr.
para sair
exit
até sair da consola/sessão.
No final o utilizador terá nessas pastas as mensagens do backup com as quais poderá fazer o que pretender.
Nota: atenção às quotas dos utilizadores, caso estejam definidas, para que não se chegue ao limite da mesma.
Caso isso seja um problema, o melhor será criar um utilizador novo e importar para esse as mensagens, efectuar o tratamento necessário nesse utilizador e eventualmente sincronizar as mesmas com o imapsync (ou qualquer outro utilitário que sincronize as contas imap).