Bancos de dados e aplicativos
Arquivo aberto de banco de dados não é backup: no meio de uma gravação, a cópia sai inconsistente. O plano roda o dump antes e leva o arquivo do dump. No Zimbra, o próprio agente exporta cada conta.
Índice
PostgreSQL, MySQL, MariaDB e MongoDB
Em Planos → Novo plano, num servidor Linux, a seção Comandos antes e depois do backup traz receitas prontas. Escolha o banco e clique em Preencher os comandos: o painel preenche o comando que gera o dump antes do backup, o que apaga o dump depois, e põe a pasta do dump no plano. Confira o que foi escrito antes de salvar.
- PostgreSQL:
pg_dumpallcomo o usuário postgres, todos os bancos num arquivo, em/var/backups/arkame/postgres. - MySQL e MariaDB:
mariadb-dumpoumysqldump, o que houver, com--single-transaction, em/var/backups/arkame/mysql. - MongoDB:
mongodumpcompactado, em/var/backups/arkame/mongodb.
As receitas não levam senha no comando. Se o seu banco pede uma, ponha-a no arquivo de credenciais do próprio banco (.pgpass, /root/.my.cnf), com permissão 600. Gravar comandos exige ser dono ou administrador da organização e o código da verificação em duas etapas, e não vale para o agente em Docker.
SQL Server (Windows)
Com o agente Arkame 0.5.0 ou mais novo, a receita do SQL Server faz um backup do tipo cópia (COPY_ONLY), que não interfere nos backups do próprio SQL Server, em C:\ProgramData\Arkame\dumps\sqlserver. Ela pede o nome do banco e, se houver, da instância (SQLEXPRESS).
O agente roda como Sistema Local: no SQL Server, dê ao login NT AUTHORITY\SYSTEM o papel db_backupoperator no banco. Precisa do sqlcmd no servidor.
Zimbra
Com o agente Arkame 0.5.0 ou mais novo num servidor com o Zimbra, a receita Zimbra aparece no plano. O agente fala com a API do próprio Zimbra, em localhost, e exporta conta por conta, sem zmmailbox e sem parar o serviço.
O que vai para o backup, por conta
- As mensagens de todas as pastas, Lixeira e Spam inclusive, num arquivo por mês: o mês fechado não muda e não sobe de novo.
- Os contatos, a agenda, as tarefas e os documentos.
- A configuração da conta (nome, cota, preferências, apelidos, classe de serviço), os filtros de entrada e de saída e as assinaturas.
- A lista das contas protegidas, para o painel mostrar quais estão no backup, quantos meses cada uma tem e quais falharam.
O que não vai
- A senha: a API do Zimbra não a entrega, e um backup com o hash da senha de todo mundo seria mais um lugar de onde ela vaza. A conta recriada ganha uma senha aleatória; defina outra no console do Zimbra.
- Assunto e remetente das mensagens não chegam ao painel: ele vê só os nomes das contas, os meses e os tamanhos.
Como configurar
- Em Planos → Novo plano, escolha o servidor do Zimbra e, em Comandos antes e depois do backup, a receita Zimbra.
- Escolha todas as mensagens ou as dos últimos 1, 2, 3, 5 ou 10 anos, e as contas que ficam de fora (as do sistema já ficam).
- Clique em Preencher os comandos, confira e salve. O plano leva a pasta
/var/backups/arkame/zimbra.
A primeira exportação de um servidor grande pode levar algumas sessões: o comando para antes do prazo (até 2 horas) e a sessão seguinte continua de onde parou, começando pelas contas há mais tempo sem backup. De tempos em tempos o agente confere um mês já fechado e o reenvia se mudou: uma mensagem antiga migrada para a caixa entra no backup.
Na tela do plano, o cartão Contas do Zimbra mostra cada conta do último backup, os meses, o tamanho, e as que falharam ou saíram do backup.
Testado no Zimbra 8.8.15, 9 e 10.1. A pasta guarda uma cópia das caixas no disco do servidor: confira o espaço livre antes de ligar.
Mais de um servidor de caixas: instale o agente e crie o plano em cada servidor de caixas. Cada agente exporta só as contas cuja caixa está nele (o atributo zimbraMailHost); as outras aparecem no resumo como fora, com o servidor onde estão, e não como falha. Para restaurar, use o servidor onde a caixa da conta está hoje: uma conta apagada pode ser recriada pelo Zimbra noutro servidor de caixas, e aí a importação das mensagens não está garantida. Essa montagem ainda não foi testada numa instalação real; fale com o suporte antes de ligar.
Restaurar uma conta do Zimbra
- No painel, em Restaurar, restaure a pasta
contas/da conta (o nome dela é o endereço) para uma pasta do servidor, por exemplo/restauracao. - No servidor, rode:
sudo arkame-agent zimbra restore --from /restauracao/contas/maria@empresa.com.br- Conta que existe: recebe só as mensagens, os contatos e a agenda.
--settingsreaplica também a configuração, os filtros e as assinaturas (a senha nunca). - Conta que não existe mais: é recriada com a configuração, a classe de serviço, os apelidos, os filtros e as assinaturas de antes, e uma senha aleatória.
- O que manda e-mail para fora (encaminhamento, resposta automática, filtro que redireciona) só volta com
--with-forwarding: restaurar não pode começar a mandar a caixa de alguém para outro lugar sem que você peça. - Em outra conta:
--toleva as mensagens para uma conta que já existe, sem mexer na configuração dela.
sudo arkame-agent zimbra restore --from /restauracao/contas/maria@empresa.com.br --settings
sudo arkame-agent zimbra restore --from /restauracao/contas/maria@empresa.com.br --to arquivo@empresa.com.brPara ver as contas que o backup protege neste servidor:
sudo arkame-agent zimbra listNa nuvem ou numa cópia local
O dump e a exportação do Zimbra vão para o armazenamento do plano, como qualquer outra pasta: o seu bucket na nuvem. Para ter também uma cópia no próprio servidor, a restauração mais rápida, crie um segundo plano com Copiar também para outro armazenamento e escolha a cópia local (agente 0.5.0 ou mais novo).
Pronto para proteger o banco?
As receitas ficam no plano do servidor. Gravar comandos pede ser dono ou administrador e o código da verificação em duas etapas.
Criar um plano →