Backup e Restore da base de dados de e-mails do Winconnection X (Windows e Linux)
Data de criação: 24/04/2013
Última alteração: 28/04/2023
Backup
As mensagens de e-mail do Winconnection são armazenados em uma base de dados que, basicamente, é dividida em quatro porções (pastas):
- A base de dados de controle de mensagens: pasta "mbox\db";
- Repositório de arquivos de mensagens: pasta "mbox\partition";
- Controle de transações para recuperação de erros de armazenamento: pasta "mbox\journal";
- Base de arquivos temporários: pasta "mbox\temp".
Para efeitos de backup, as três primeiras pastas necessitam ser alvo de operações de backup. Se for desejado um backup histórico, será necessário prover espaço suficiente na mídia de backup para tanto. A base de dados de controle de mensagens não é grande, quando comparada ao tamanho demandado pela pasta de arquivos de mensagens. A pasta de arquivos de mensagens, tal como foi projetada, permite a realização de backups incrementais (ou diferenciais) com boa eficiência.
Restore
A operação de recuperação (restore) consiste em recuperar o backup das três pastas acima, na máquina destino, com o Winconnection parado. Se o backup fora realizado, com o Winconnection em funcionamento, um procedimento adicional de recuperação de journal se faz necessário. Isto se deve ao fato, de não haver controle sobre as transações, sobre a escrita na base de dados, no momento do backup. Apenas para fixar o tópico, podemos dizer que se o backup foi realizado com o Winconnection parado, a posterior recuperação dos dados, não necessita ser alvo de uma operação de recuperação de journal, bastando apenas recuperar as três pastas descritas acima.
OBS.: O procedimento de recuperação de journal deve ser executado somente com o Winconnection parado. É bastante recomendável a paralisação dos serviços de e-mail no Winconnection, de modo que eles não voltem automaticamente quando o Winconnection voltar a carga. Assim, é possível voltar os serviços de e-mail de forma gradual, além de permitir testes posteriores a recuperação dos dados.
Sendo assim, antes de iniciar o procedimento, pare o serviço do Winconnection e finalize os processos relacionados a ele: phphost.exe, php-cgi.exe e sqlite3.exe
Durante este procedimento, o serviço Mapeador POP deve estar parado. Primeiro pare o serviço, altere a inicialização para Manual e salve.
Os seguinte passos são necessários:
- Localize na pasta journal o snapshot mais recente. Estes arquivos tem a extensão ".snapshot" e possuem em seu nome a data de sua geração;
- Caso a recuperação deva ser realizada do zero - ou seja sem a recuperação da pasta "mbox\db", ou, por erros de consistência da base original, foi necessário seu apagamento, crie a pasta "mbox\db" antes;
- Execute o comando: C:\ProgramData\Winco\WinconnectionX > mst_journal <arquivo_de_snapshot_mais_recente> <caminho_da_pasta_de_journals> <pasta do banco (mbox)> <arquivo snapshot mais recente>
O procedimento costuma ser demorado.
Passo-a-passo para ser executado na versão Winconnection X:
Windows
1) Recuperação para a pasta original
C:\> cd "C:\Program Files\Winco\WinconnectionX\"
mst_journal C:\ProgramData\Winco\WinconnectionX\mbox\journal\mailbox.db_01-03_13-00-29_000000000000012A.snapshot C:\ProgramData\Winco\WinconnectionX\mbox\journal C:\ProgramData\Winco\WinconnectionX\mbox
Caso este primeiro procedimento não funcione:
2) Recuperação para outra pasta
C:\> cd "C:\ProgramData\Winco\WinconnectionX"
C:\ProgramData\Winco\WinconnectionX> mkdir mbox_novo
C:\ProgramData\Winco\WinconnectionX> mkdir mbox_novo\db
C:\> cd "C:\Program Files\Winco\WinconnectionX"
mst_journal C:\ProgramData\Winco\WinconnectionX\mbox\journal\mailbox.db_01-03_13-00-29_000000000000012A.snapshot C:\ProgramData\Winco\WinconnectionX\mbox\journal C:\ProgramData\Winco\WinconnectionX\mbox_novo
OBS.: substituir \mailbox.db_01-03_13-00-29_000000000000012A.snapshot pelo nome do arquivo snapshot mais recente.
Passo-a-passo para ser executado na versão Winconnection X:
Linux:
1) Recuperação para a pasta original
Abra o terminal e dê os comandos:
### parar o Winconnection
/etc/init.d/winconnection stop
### salvar a cópia da base de e-mails corrompida
mv /var/winco/mbox/db/mailbox.db /var/winco/mbox/db/mailbox.old.db
### Localize o arquivo snapshot mais recente e copie o nome
cd /var/winco/mbox/journal/
ls -lah
### Executar o comando de restauração da storage (devem ser executados em uma única linha)
/opt/winconnection/mst_journal
/var/winco/mbox/journal/mailbox.db_30-03_02-00-00_00000000006AB3A5.snapshot
/var/winco/mbox/journal/ /var/winco/mbox/
Substitua acima /mailbox.db_30-03_02-00-00_00000000006AB3A5.snapshot pelo nome do arquivo snapshot mais recente.
### iniciar o Winconnection
/etc/init.d/winconnection start
O procedimento pode demorar.
Caso este primeiro procedimento não funcione :
2) Recuperação para outra pasta
Criar pasta mbox_novo (ou outro nome) no /var/winco:
mkdir /var/winco/mbox_novo
Executar os comandos abaixo:
/opt/winco/mst_journal
/var/winco/mbox/journal/mailbox.db_22-05_00-00-00_0000000000058C70.snapshot
/var/winco/mbox/journal
/var/winco/mbox_novo
Substitua acima /mailbox.db_22-05_00-00-00_0000000000058C70.snapshot pelo nome do arquivo snapshot mais recente.
Testes
Convém a realização de testes no serviço de e-mail antes da liberação aos usuários. Se o procedimento de desabilitação dos serviços antes do desligamento do Winconnection proposto acima tiver sido seguido, na volta dos serviços é possível iniciar os serviços para um grupo de usuários ou rede restritiva, para que os procedimentos de testes possam ser efetuados. Se o teste resultar em bom resultado, devemos proceder com a liberação dos demais usuários e redes originalmente autorizados.
Recuperação de Mensagens Apagadas Inadvertidamente Pelo Usuário
Os procedimentos de backup e restore acima, podem ser realizados para a recuperação de mensagens apagadas inadvertidamente pelos usuários. Para tanto, utiliza-se o backup histórico (que contenha as mensagens que não foram apagadas), fazendo-se um restore em uma outra máquina temporária. A máquina temporária tem de possuir a capacidade de disco da máquina original. Como ela destina-se apenas a execução de uma única sessão para recuperação de dados e não será colocada em produção, não precisa possuir a mesma capacidade de computação da máquina original. Para que, efetivamente a mensagem seja recuperada, o usuário deve se conectar ao servidor temporário, usando IMAP por exemplo, e proceder com a cópia das mensagens do servidor. Terminada a cópia a máquina temporária pode ser liberada. Não há outro meio de recuperação de mensagens apagadas inadvertidamente.
Testes de Backup
Como a operação de backup é uma tarefa complexa e importante, é recomendado que os administradores de sistema realizem processos de testes de backup de forma rotineira e frequente. Isto irá assegurar que todos os passos necessários ao processo estão bem ajustados e permitirá a otimização dos resultados. Os testes garantem que as mídias tem qualidade e os processos também.