Olá pessoal! Recentemente decidi reformular minha estratégia de backup e migrei do BorgBackup + VPS para o Kopia + Backblaze B2. Compartilho aqui os motivos e um guia rápido de como configurar.
Por que mudei?
-
Adeus Gestão de VPS: Com o Kopia + S3 (B2), não preciso mais manter um servidor Linux, atualizar pacotes e configurar chaves SSH apenas para receber backups. É menos uma coisa para administrar.
-
Políticas de Retenção Simplificadas: O Kopia gerencia a retenção (snapshots por hora/dia/mês) de forma nativa e visual, sem precisar de scripts complexos.
-
Maior Confiabilidade: Enquanto um VPS exige medidas extras para garantir disponibilidade, o Backblaze B2 já é replicado por natureza. Além disso, o Kopia suporta o Object Lock (Imutabilidade), protegendo os dados contra Ransomware.
-
Economia: No modelo pay-as-you-go, parei de pagar pelo espaço ocioso do VPS e passei a pagar apenas pelos GBs que realmente utilizo, o que reduziu minha fatura mensal.
Nota: Existe o KopiaUI para quem prefere interface gráfica, mas eu optei pela CLI por ser mais leve e fácil de colocar no crontab/systemd.
1. Criando o “Balde” (Bucket) no Backblaze B2
- Crie uma conta no Backblaze.
- Vá em Buckets → Create a Bucket.
- Dê um nome, selecione Private e, se quiser segurança máxima, ative o Object Lock.
- Em App Keys, gere uma KeyID e uma ApplicationKey. Guarde-as!
2. Instalação (Linux)
O Kopia tem procedimentos para instalação para diversos SOs, vou expor aqui o que eu usei (Fedora-like), para o demais consulte https://kopia.io/docs/installation/:
sudo rpm --import https://kopia.io/signing-key
cat <<EOF | sudo tee /etc/yum.repos.d/kopia.repo
[Kopia]
name=Kopia
baseurl=http://packages.kopia.io/rpm/stable/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://kopia.io/signing-key
EOF
sudo dnf install kopia
3. Criando o Repositório no B2
Agora, vamos conectar o Kopia ao balde do Backblaze. Substitua os campos pelos seus dados:
kopia repository create b2 \
--bucket=NOME_DO_SEU_BUCKET \
--key-id=SUA_KEY_ID \
--key=SUA_APPLICATION_KEY
Ele pedirá para você criar uma senha para o repositório. Guarde-a bem, sem ela você não recupera nada.
4. Configurando Políticas de Retenção e Ignore
O Kopia facilita muito a retenção. Vamos configurar para manter os últimos 7 backups diários, 4 semanais e 12 mensais:
kopia policy set --global --keep-daily 7 --keep-weekly 4 --keep-monthly 12
Para ignorar pastas inúteis (cache, lixo, etc), crie um arquivo .kopiaignore na sua pasta home ou use o comando:
kopia policy set /home/usuario --add-ignore .cache --add-ignore Downloads
5. O Primeiro Backup (Snapshot)
Para fazer o backup de todo o seu sistema ou da sua home:
kopia snapshot create /home/usuario
O primeiro levará tempo. Os próximos serão incrementais e muito rápidos graças à deduplicação.
6. Automatizando o Backup Diário
Diferente do Borg, onde você faz scripts de shell complexos, o Kopia tem um “scheduler” interno se você rodar o servidor, mas para manter a simplicidade, vamos usar o bom e velho systemd timer ou crontab.
Via Crontab (crontab -e): Adicione esta linha para rodar todo dia às 03:00 da manhã:
0 3 * * * kopia snapshot create /home/usuario --parallel=4
7. Limpeza e Manutenção (Liberando espaço no B2)
No Kopia, quando um snapshot antigo é descartado pela política de retenção, os dados não são apagados instantaneamente do Backblaze. Eles são marcados como “lixo”. Para deletar esses dados permanentemente e reduzir o valor da sua fatura, você precisa rodar a manutenção.
O Kopia faz uma manutenção rápida automaticamente, mas é recomendável rodar a manutenção completa (Full Maintenance) periodicamente:
Rodar manutenção manualmente:
kopia maintenance run --full
O que esse comando faz?
- Rescan: Verifica quais blocos de dados não estão mais sendo usados por nenhum snapshot.
- Rewrite: Reorganiza os dados para otimizar o armazenamento.
- Delete: Apaga definitivamente os arquivos do Backblaze B2, liberando espaço.
Dica de automação: Para não ter que se preocupar com isso, você pode adicionar uma linha no seu crontab para rodar a manutenção completa uma vez por semana (ex: todo domingo às 04:00):
0 4 * * 0 kopia maintenance run --full
8. Alternativas ao B2
Embora o Backblaze B2 seja um excelente custo-benefício, o Kopia não te prende a ele. Você pode utilizar praticamente qualquer serviço de Object Storage S3-Compatible (como Cloudflare R2, IDrive e2 ou Wasabi).
O mais interessante é que ele não se limita a serviços de nuvem “puros”. Você também pode usar:
- Armazenamento Local ou em Rede: Um HD externo, um NAS (via SMB/NFS) ou um servidor próprio via SFTP.
- Google Drive / OneDrive / Dropbox: Através do suporte nativo do Kopia, você pode usar seu espaço sobrando nessas nuvens comerciais como repositório de backup.
- Google Cloud Storage / Azure Blob Storage: Para quem precisa de infraestrutura de nível corporativo.
Essa agnosticidade de destino garante que, se um serviço aumentar o preço ou mudar as regras, você só precisa mover seus dados e apontar o Kopia para o novo endereço.
Comandos Úteis de Verificação:
Listar backups: kopia snapshot list
Ver uso de disco no B2: kopia content stats
Montar o backup como uma pasta (FUSE): kopia mount all /mnt/backup_local/ (Isso é fantástico para recuperar arquivos avulsos).
Espero que esse guia ajude quem está buscando uma alternativa mais moderna e barata que o setup tradicional de VPS!