Quase nunca se perde uma conta inteira. O que acontece todo dia é um banco estragado, uma caixa de e-mail com mensagens apagadas, um arquivo do site sobrescrito. Dá para trazer de volta só aquilo, sem mexer no resto, e ter certeza de que voltou igual?
| Caso | Voltou igual? | Tempo |
|---|---|---|
| Banco de dados, substituído | sim | ~2 s |
| Banco, para um banco novo | sim | ~4 s |
| Caixa de e-mail, só o que falta | sim | ~4 a 8 s |
| Caixa de e-mail apagada, recriada | sim | ~4 s |
| Arquivos e pastas | sim | ~1 s |
Método
Uma conta real de e-mail e site no servidor de teste, com backup no storage.
Para cada caso: primeiro um retrato do que estava certo, depois um “acidente” de propósito, depois a restauração, uma vez pela linha de comando e outra pelo painel, com o mesmo acidente, e a comparação com o retrato.
Banco de dados (28 mil linhas, 3 tabelas): metade dos pedidos apagada, uma tabela derrubada e uma tabela estranha criada; substituído pelo do backup, com uma cópia de segurança do estado quebrado guardada antes, e conferido tabela por tabela (checksum). Também restaurado para um banco novo, ao lado do original, sem tocar nele.
Caixa de e-mail (815 mensagens): 100 mensagens apagadas, a pasta de enviados apagada e 5 mensagens com a marcação trocada; trazido só o que faltava, mensagem por mensagem, com as 5 marcações atuais mantidas e nada duplicado. Depois a caixa foi excluída pelo painel e recriada com tudo, com a mesma cota e a mesma senha de antes.
Arquivos (calendários e um site): uma pasta apagada, um arquivo alterado e outro apagado; trazido o que faltava e depois substituído pela versão do backup, conferido arquivo por arquivo (hash), com o mesmo dono e as mesmas permissões, e o arquivo alterado guardado antes.
Antes de restaurar, o administrador vê o que tem em cada backup da conta (caixas, bancos e pastas), lido direto do storage.
Depois, vê tabela por tabela (linhas antes e depois), pasta por pasta (mensagens no backup, antes, copiadas e depois), arquivo por arquivo (copiados, substituídos e iguais) e onde ficou a cópia de segurança do que foi substituído.
O que decidimos
O nome das pastas importa: a primeira versão da “pasta separada” na caixa de e-mail criava a pasta, mas o webmail não a mostrava; o Salvo passou a perguntar ao servidor de e-mail como ele nomeia as pastas. E pasta vazia é ruído: pastas vazias do backup não são mais criadas na pasta separada.