Comparativo: Restic vs BorgBackup vs rclone para backups incrementais criptografados em VPS com largura de banda limitada
Por Kevin Marcondes · Publicado em · 10 min de leitura
Este comparativo técnico entre Restic, BorgBackup e rclone foca backups incrementais criptografados em VPS com largura de banda limitada. Você verá como cada ferramenta lida com deduplicação, compressão, criptografia, retomada em links instáveis e políticas de retenção, com recomendações práticas para reduzir bytes enviados, encurtar janelas de backup e manter restaurações confiáveis.
Cenário: backups em VPS com banda e I/O limitados
Em VPS baratas, a banda de saída, CPU e I/O de disco costumam ser gargalos. Backups diários podem disputar recursos com a aplicação e degradar o serviço. O ideal é minimizar bytes enviados, priorizar retomada confiável em conexões instáveis e reduzir trabalho redundante com deduplicação e compressão.
Também importa a retenção automática, verificação de integridade e suporte a storages remotos. Se você usa objeto compatível com S3, políticas de ciclo de vida ajudam a controlar custos. Em discos anexados, o uso eficiente do espaço do repositório é essencial para manter janelas de backup curtas.
- Reduzir bytes transferidos com deduplicação e/ou compressão
- Retomar uploads em caso de interrupções sem reprocessar tudo
- Aplicar políticas de retenção que não congestionem a banda
- Verificar integridade sem varrer o mundo diariamente
- Agendar janelas fora do pico e limitar a taxa de upload
Como cada ferramenta aborda o problema
Restic é um backup com deduplicação a nível de blocos variáveis e criptografia autenticada por padrão. Foi pensado para repos remotos, incluindo S3 compatível, e opera via snapshots imutáveis com políticas de retenção flexíveis.
BorgBackup também é orientado a snapshots com forte deduplicação e compressão configurável. Costuma ser eficiente para muitos arquivos pequenos e tem verificação e recuperação maduras, operando local/SSH de forma robusta.
rclone é um sincronizador/copy com suporte amplo a backends. Com o módulo crypt, oferece criptografia no cliente. Não é um sistema de snapshots por padrão, mas pode compor estratégias de "backup-dir" e versionamento do backend para reter históricos.
Transferência em links lentos: retomada, paralelismo e limitação de banda
Em links instáveis e com pouca banda, a previsibilidade do job importa. As três ferramentas permitem limitar a taxa e ajustar concorrência para evitar saturar a VPS e a rede.
Restic tolera interrupções, reusa blocos já enviados e só transfere novos chunks. Em conexões que caem, recomeça a partir de unidades pequenas, reduzindo retrabalho. Ajustes de paralelismo ajudam a equilibrar CPU e I/O.
BorgBackup também lida bem com quedas e tem deduplicação agressiva; a compressão reduz bytes enviados, útil quando CPU sobra e banda falta. O controle de taxa e de concorrência evita picos que competem com a aplicação.
rclone brilha em controle de banda, fila e reintentos. É possível ajustar número de transfers, checadores e janelas de bwlimit. Ele retoma uploads multipart em backends que suportam, mas, sem deduplicação, arquivos alterados tendem a reenviar dados inteiros.
- Defina limites de upload para manter latência da aplicação estável
- Prefira paralelismo moderado: muitas conexões podem aumentar perdas
- Programe janelas noturnas e pausas entre jobs para aliviar o I/O
Redução de dados: deduplicação e compressão
Restic depende majoritariamente de deduplicação por blocos variáveis entre snapshots. Em conjuntos com mudanças pequenas por arquivo, a economia de banda é significativa, mesmo sem compressão agressiva.
BorgBackup combina deduplicação com compressão selecionável (por exemplo, algoritmos rápidos ou compactações mais fortes). Em VPS com CPU disponível e links lentos, comprimir antes de enviar pode reduzir bastante a janela de backup.
rclone não faz deduplicação de conteúdo por padrão. Pode aproveitar versionamento do backend e estratégias com pastas de histórico para simular snapshots, mas cada alteração relevante no arquivo normalmente implica reupload. Em datasets de muitos binários grandes que mudam pouco, isso pesa na banda.
- Muitos arquivos pequenos e mudanças localizadas: Restic/Borg se beneficiam
- Compressão do Borg reduz bytes em textos, logs e dumps sem muita entropia
- Para grandes binários que mudam inteiro, rclone tende a transferir tudo
Criptografia e integridade dos snapshots
Restic cifra tudo no cliente e autentica dados e metadados por padrão. Isso simplifica o uso em S3 compatível sem expor nomes de arquivos ou conteúdos ao provedor.
BorgBackup oferece modos de criptografia locais com autenticação. Você escolhe chaves armazenadas no repositório ou só locais, equilibrando praticidade e segurança. A verificação periódica detecta corrupção cedo.
rclone oferece criptografia via remote "crypt". A política de retenção e de verificação depende do backend ou da estratégia de pastas. É fundamental documentar nomes e locais para restaurações rápidas sob pressão.
- Guarde senhas/chaves fora da VPS e teste restaurações periodicamente
- Evite compartilhar uma mesma chave entre ambientes sem planejamento
- Documente o caminho de restauração e scripts de verificação
Operação em produção: retenção, verificação e consistência
Políticas de retenção importam mais do que parece. Restic e BorgBackup possuem comandos para manter janelas de diários/semanas/meses, com pruning que libera espaço e mantém pontos recentes. Planeje o prune para não disputar I/O com a aplicação.
rclone depende de políticas do backend (ex.: ciclo de vida em S3) ou de pastas de histórico. Isso simplifica a infraestrutura, mas transfere disciplina de retenção para fora da ferramenta.
Para consistência de dados abertos, snapshots no nível do volume são ideais. Tirar um snapshot LVM antes do backup garante coerência de bancos e arquivos ativos, evitando cópias parciais.
- Agende verificação periódica de repositório para detectar corrupção
- Execute prune/forget fora do horário de pico
- Use snapshot de volume para bases de dados e VMs em uso
Tabela comparativa rápida
Resumo lado a lado dos critérios mais relevantes para links lentos e ambientes de VPS. Use como checklist ao decidir política e ferramenta principal para seu contexto.
| Critério | Restic | BorgBackup | rclone (com crypt) |
|---|---|---|---|
| Modelo | Backup com snapshots e deduplicação | Backup com snapshots, deduplicação e compressão | Sync/Copy; snapshots via estratégia |
| Criptografia | Padrão, cliente-side, autenticada | Opcional, cliente-side, autenticada | Opcional via "crypt" (cliente-side) |
| Deduplicação | Blocos variáveis entre snapshots | Blocos variáveis entre snapshots | Sem dedup nativa de conteúdo |
| Compressão | Limitada/indireta via dedup | Configuração flexível de compressão | Sem compressão nativa antes do envio |
| Retenção | Políticas por tempo/contagem (forget/prune) | Políticas por tempo/contagem (prune) | Backend lifecycle ou pastas de histórico |
| Banda limitada | Limite de taxa e reintentos eficientes | Limite de taxa + compressão útil | bwlimit granular, porém reenvia arquivos alterados |
| Repositórios | Direto em S3, local, SSH, etc. | Local/SSH e remotos via túnel/FS | Qualquer backend suportado |
| Verificação | Comando de check e rebuild de índices | Check e recuperação maduras | Check compara origens/destinos; sem estrutura de repo |
| Restauração | Por snapshot, seletiva por paths | Por snapshot, seletiva por paths | Por data/pasta; depende da estratégia |
| Melhor uso | Backups remotos com mudanças localizadas | Backups com muitos pequenos arquivos + compressão | Sincronizações versionadas simples e mirrors |
Qual escolher em VPS com pouca banda: cenários práticos
Não existe vencedor universal. Abaixo, cenários comuns e escolhas que tendem a equilibrar banda, CPU e simplicidade operacional em VPS.
- Aplicações web com muitos arquivos pequenos e alterações localizadas: Restic ou BorgBackup. Restic simplifica S3; Borg ganha quando compressão ajuda muito.
- Dumps de banco e logs de texto grandes gerados diariamente: BorgBackup com compressão rápida reduz bytes. Restic funciona bem se o dump muda pouco entre dias.
- Grandes binários que trocam por versão completa (ex.: imagens de VM): rclone com versionamento do backend e agendamento cuidadoso pode ser mais simples.
- Ambientes que já usam S3 compatível e pedem criptografia transparente: Restic encaixa direto, com retenção e verificação dentro do próprio repositório.
- Quando a prioridade é controle fino de banda e janelas: rclone como componente de movimentação é forte, mas combine com uma estratégia clara de snapshots.
Boas práticas para economizar banda e evitar surpresas
Ajustes simples costumam causar grande impacto no volume transferido e na confiabilidade das restaurações. Trate o backup como um pipeline repetível e verificável.
- Exclua caches, node_modules, vendor reconstruível e artefatos temporários
- Faça o primeiro backup em janela longa; os próximos serão menores
- Limite a taxa de upload e o paralelismo para proteger a aplicação
- Agende prune/forget separado do backup principal
- Automatize testes de restauração em amostras de arquivos críticos
- Use snapshot de volume para consistência de dados abertos
Recursos relacionados e próximos passos
Se o seu backup inclui volumes ativos, considere snapshots de volume antes de enviar. Isso melhora a consistência e reduz falhas de verificação. Para S3 compatível, scripts e políticas agilizam retenção e alerts.
Para agendamentos previsíveis, timers do systemd substituem cron com logs centralizados de execução e status, deixando troubleshooting mais prático.
- Veja como automatizar snapshots de volume e enviar com Restic para S3: LVM snapshots + Restic em S3 (Debian)
- Modelos e políticas de backup em S3 compatível: Backups incrementais e criptografados em S3
- Substitua cron por timers confiáveis: Migrar cron para systemd timers
- Reforce a base do servidor antes de automatizar backups: Checklist de segurança para VPS Linux
Perguntas frequentes
Restic ou BorgBackup economizam mais banda em VPS lenta?
Depende do seu dado. Ambos deduplicam blocos, o que reduz muito bytes quando só trechos mudam. Borg ainda permite compressão, útil para textos e dumps. Se CPU está folgada e o link é o gargalo, Borg tende a enviar menos dados graças à compressão.
rclone serve para backup incremental com histórico?
rclone é ótimo para sincronizar e controlar banda, mas não tem snapshots nativos. Você pode compor pastas por data e usar versionamento do backend, ou combinar rclone com processos que gerem snapshots. Planeje retenção e restauração desde o início.
Qual é mais simples para S3 compatível com criptografia de ponta a ponta?
Restic. Ele cifra no cliente por padrão e fala direto com backends compatíveis com S3. Você configura o repositório, define retenção e agenda verificações, sem dependências extras no servidor.
Como evitar corrupção de dados se a conexão cair durante o backup?
Use ferramentas com reintentos e uploads em unidades pequenas (Restic/Borg) e limite a taxa para reduzir perdas. Programe verificações periódicas do repositório e, quando possível, faça snapshot de volume antes do backup para garantir consistência dos arquivos.
Quando rclone é a melhor escolha?
Quando você precisa de controle fino de banda, suporte a muitos backends e uma estratégia simples de cópia ou mirror versionado. Para muitos arquivos grandes que trocam por versão completa, rclone pode ser mais direto do que montar um repositório deduplicado.
Posso combinar as ferramentas?
Sim. Um padrão comum é usar Restic ou Borg para criar snapshots locais/remotos e empregar rclone para réplicas adicionais ou movimentação entre storages. Documente bem o fluxo de restauração para não perder tempo em incidentes.
Quer desenhar uma estratégia de backup leve em banda e fácil de restaurar?
Mapeamos seu conjunto de dados, escolhemos a ferramenta e escrevemos scripts e políticas de retenção pensando na sua VPS e no seu storage.
Conversar sobre seu backupVeja também
- Comparativo: ZFS vs LVM+LUKS em VPS com bancos de dados — snapshots, desempenho e recuperação após falha
- Análise prática — comparativo: Nginx Unit vs PHP‑FPM vs RoadRunner para executar monólitos PHP em containers — latência, throughput e consumo de memória
- Comparativo: Flyway vs Liquibase vs Sqitch para versionamento de banco de dados em projetos PHP/Laravel
- nftables vs iptables no Ubuntu 22.04: qual usar e exemplos práticos