[Guia] Backup Moderno: Migrando do Borg com VPS para Kopia com Backblaze B2

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?

  1. Rescan: Verifica quais blocos de dados não estão mais sendo usados por nenhum snapshot.
  2. Rewrite: Reorganiza os dados para otimizar o armazenamento.
  3. 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!

2 curtidas