Backups com Restic: criptografados, incrementais e prontos para cloud
Uma estratégia de backup confiável precisa de três pilares: criptografia, automação e confiança real no restore. O Restic entrega esses três pontos com uma CLI simples e suporte amplo a diferentes backends.
Este guia mostra um fluxo prático para servidores e equipes pequenas de infraestrutura.
1) Instale o Restic
No Ubuntu/Debian:
sudo apt update
sudo apt install restic -y
restic version
2) Configure credenciais do repositório
Para jobs não interativos, use variáveis de ambiente:
export RESTIC_REPOSITORY=s3:https://s3.us-east-1.amazonaws.com/my-restic-bucket
export RESTIC_PASSWORD='use-a-strong-passphrase'
export AWS_ACCESS_KEY_ID='...'
export AWS_SECRET_ACCESS_KEY='...'
Para repositório local:
export RESTIC_REPOSITORY=/backup/restic-repo
export RESTIC_PASSWORD='use-a-strong-passphrase'
Inicialize o repositório:
restic init
3) Faça o primeiro snapshot
restic backup /etc /var/www /home
Liste snapshots:
restic snapshots
4) Aplique política de retenção
Exemplo equilibrado:
restic forget --prune \
--keep-last 10 \
--keep-daily 14 \
--keep-weekly 8 \
--keep-monthly 12
Isso controla crescimento sem perder pontos úteis de recuperação.
5) Verifique integridade do repositório
Check rápido:
restic check --read-data-subset=5%
Check completo periódico:
restic check
6) Teste de restore (obrigatório)
Restaure um caminho específico do snapshot mais recente:
restic restore latest --target /tmp/restore-test --include /etc/nginx/nginx.conf
Valide conteúdo, permissões e tempo de recuperação.
7) Automatize com systemd
Crie serviço /etc/systemd/system/restic-backup.service:
[Unit]
Description=Restic Backup Job
[Service]
Type=oneshot
EnvironmentFile=/etc/restic/env
ExecStart=/usr/bin/restic backup /etc /var/www /home
ExecStartPost=/usr/bin/restic forget --prune --keep-last 10 --keep-daily 14 --keep-weekly 8 --keep-monthly 12
Crie timer /etc/systemd/system/restic-backup.timer:
[Unit]
Description=Run Restic backup daily
[Timer]
OnCalendar=*-*-* 02:15:00
Persistent=true
[Install]
WantedBy=timers.target
Ative o timer:
sudo systemctl daemon-reload
sudo systemctl enable --now restic-backup.timer
sudo systemctl list-timers | grep restic
Boas práticas operacionais
- Armazene senha do repositório em cofre de segredos
- Separe credenciais de backup das credenciais de runtime
- Mantenha cópia imutável/offline para resiliência a ransomware
- Documente runbook de restore com prioridades de recuperação
Conclusão
O Restic oferece fundamentos de proteção de dados de nível profissional com baixa complexidade. Quando snapshots, retenção, checks e testes de restauração são automatizados, o risco operacional cai bastante.
O ponto crítico é disciplina: backup precisa ser monitorado, auditável e restaurável quando realmente necessário.