~ / blog / backup
16 set 2026backup10 min de leitura

Backup 3-2-1 com Restic: retenção, criptografia e restore

Uma estratégia operacional para proteger dados de servidores com snapshots criptografados, cópia externa e testes de recuperação.

ResticRsyncLinux

1. A regra 3-2-1

Tenha três cópias, em dois meios diferentes, com uma delas fora do ambiente principal. O backup só é confiável quando a recuperação foi testada e o tempo de restauração é conhecido.

2. Repositório Restic

export RESTIC_REPOSITORY=s3:s3.amazonaws.com/bucket-servidor
export RESTIC_PASSWORD_FILE=/etc/restic/password
sudo chmod 600 /etc/restic/password
restic init
restic backup /etc /opt /srv

O Restic deduplica snapshots e criptografa o repositório. A senha é parte do backup: armazene-a em um cofre separado do servidor.

3. Retenção e integridade

restic snapshots
restic check
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune

4. Restore ensaiado

mkdir /tmp/restore
restic restore latest --target /tmp/restore
diff -ru /srv/app /tmp/restore/srv/app
ATENÇÃO Backup sem restore é apenas uma intenção. Agende testes parciais e registre arquivos, permissões e tempo de recuperação.

5. Checklist final

  • Destino externo
  • Senha fora do servidor
  • Retenção definida
  • Alertas de falha
  • Restore testado

6. Automação e alertas

O job de backup precisa produzir uma saída verificável. Registre início, fim, quantidade de snapshots e código de saída. Um timer systemd permite definir janela, dependências de rede e histórico no journal.

systemctl list-timers --all
journalctl -u restic-backup --since yesterday

7. Comandos explicados

Comando ou variávelO que faz
RESTIC_REPOSITORY=s3:s3.amazonaws.com/bucket-servidorAponta o repositório para um bucket S3. Para o S3, defina também AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY.
RESTIC_PASSWORD_FILE=/etc/restic/passwordLê a senha de um arquivo.
sudo chmod 600 /etc/restic/passwordSó o dono lê e escreve o arquivo da senha.
restic init e restic backup /etc /opt /srvCria o repositório e faz o primeiro snapshot dessas pastas.
restic checkVerifica a integridade da estrutura do repositório.
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --pruneAplica a política de retenção e libera o espaço dos dados sem uso.
restic restore latest --target /tmp/restoreRestaura o snapshot mais recente para uma pasta de teste.
diff -ru /srv/app /tmp/restore/srv/appCompara as duas pastas. -r percorre subpastas e -u mostra as diferenças de forma legível. Sem saída, são idênticas.
systemctl list-timers --all e journalctl -u restic-backup --since yesterdayConfere o agendamento e o resultado da última execução.
Regra 3-2-1Como fica neste artigo
3 cópiasos dados em produção, um backup local e um backup remoto
2 meios diferentesdisco do servidor e armazenamento de objetos
1 fora do ambienteo bucket S3
Política de retençãoO que guarda
--keep-daily 7um snapshot por dia nos últimos 7 dias
--keep-weekly 4um por semana nas últimas 4 semanas
--keep-monthly 12um por mês nos últimos 12 meses, cobrindo cerca de um ano

8. Exemplo: restaurar só uma pasta para testar

mkdir /tmp/restore
restic restore latest --target /tmp/restore --include /srv/app
diff -ru /srv/app /tmp/restore/srv/app

O --include restaura apenas o caminho indicado, o que torna o teste mensal rápido. Registre o tempo que levou, porque ele é a base do seu prazo real de recuperação.

9. Erros comuns e como resolver

SintomaCausa provávelSolução
Falha ao abrir o repositório S3Faltam as credenciais AWS ou o nome do bucket está errado.Exporte AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY e confira o endereço do repositório.
O restic check reporta errosUpload incompleto ou dano no armazenamento.Investigue o destino e, se preciso, refaça o backup em um repositório novo.
O restore não bate com a origemDiferenças de permissões, dono ou exclusões no backup.Compare com diff -ru, revise o --exclude e teste a restauração como root.
A senha do repositório foi perdidaO conteúdo é criptografado e não há recuperação sem a senha.Guarde a senha em um cofre separado do servidor, antes de precisar dela.

Quer aplicar isso ao seu contexto?

Se esse problema existe na sua operação, podemos analisar o cenário em um diagnóstico gratuito de 30 minutos.

solicitar diagnóstico gratuito →

Leia também