Como fazer Backup Incremental Rsync Rclone sem travar o servidor

Backup Incremental Rsync Rclone. Fazer backup é como ir à academia: todo mundo sabe que é importante, mas ninguém quer lidar com a “dor” (neste caso, o disco 100% ocupado e o sistema travando).

Se você está usando Rsync ou Rclone, o segredo não é apenas o que você copia, mas como você limita o impacto do processo no hardware. Aqui estão as estratégias de mestre para manter seus dados seguros sem transformar seu servidor em uma torradeira lenta.


1. Otimização de I/O (Input/Output)

O maior culpado pela lentidão não é a CPU, mas a fila de leitura/escrita do disco.

  • Utilize o ionice: No Linux, essa ferramenta diz ao sistema que o backup deve ter prioridade “paupérrima”. O sistema só dará atenção ao backup quando o disco estiver ocioso.
    • Exemplo: ionice -c 3 rsync -av /origem /destino (O -c 3 define a classe “idle”).
  • Limite de Banda (--bwlimit): Se o seu backup é via rede ou para nuvem, o Rclone/Rsync pode saturar sua conexão e sua controladora de disco.
    • Exemplo: --bwlimit 10M limita a transferência a 10MB/s, deixando “espaço” para outras tarefas.

2. Estratégias Inteligentes de Comparação

O Rsync, por padrão, verifica se os arquivos mudaram. Em discos lentos (HDDs), ler metadados de milhões de arquivos é um pesadelo.

  • Confie no Tamanho e Data (--size-only ou padrão): Evite o uso de --checksum a menos que seja estritamente necessário. O checksum lê o arquivo inteiro para gerar um hash, o que “mata” a performance do disco.
  • Filtros Seletivos: Use --exclude para pular pastas de cache, arquivos temporários ou pastas node_modules. Não há razão para estressar o disco com lixo.

3. Rclone: Otimizando o “Multi-threading”

O Rclone é muito potente, mas as configurações padrão podem ser agressivas demais para HDDs convencionais ou conexões instáveis.

  • --transfers: Define quantos arquivos são enviados simultaneamente. Se você tem muitos arquivos pequenos em um HDD, baixe para --transfers 2 ou 4.
  • --checkers: Controla quantos arquivos ele “olha” por vez para ver se mudaram. Se o disco começar a fazer muito barulho (seek), diminua esse valor.
  • --use-mmap: No Rclone, isso pode ajudar a reduzir o consumo de memória ao mapear arquivos diretamente, o que alivia um pouco o processamento de I/O.

Para backups incrementais locais (tipo Time Machine), o Rsync tem uma função genial chamada --link-dest.

  1. Ele compara o backup atual com o anterior.
  2. Se o arquivo não mudou, ele não copia de novo; ele cria um Hard Link.
  3. Resultado: Você tem pastas que parecem backups completos, mas ocupam apenas o espaço das mudanças, sem re-escrever dados idênticos.

Resumo de Comandos “Gentis”

FerramentaComando de Baixo Impacto
Rsyncionice -c 3 rsync -av --bwlimit=5000 --progress /origem /destino
Rclonerclone copy /origem remote:backup --bwlimit 5M --transfers 2 --checkers 4

FAQ

Qual a diferença entre backup incremental e diferencial no Rsync?

O Rsync foca no incremental, transferindo apenas os blocos de dados que mudaram dentro de um arquivo, o que economiza tempo e vida útil do SSD/HDD.

O comando ionice funciona em Windows?

Não nativamente. No Windows, você deve ajustar a “Prioridade do Processo” para “Baixa” no Gerenciador de Tarefas ou via PowerShell.

Usar --checksum é melhor para a segurança?

Sim, mas destrói a performance. Ele força o disco a ler todos os arquivos integralmente. Para uso diário, a verificação por tamanho e data de modificação (padrão) é suficiente e muito mais rápida.

Posso limitar a velocidade do backup para não cair minha internet?

Sim, tanto no Rsync quanto no Rclone, utilize o parâmetro --bwlimit (ex: --bwlimit=2M para limitar a 2 Megabytes por segundo).

Veja Mais:

CloudLinux LVE Manager: Como Limitar CPU e RAM

Como verificar no linux a velocidade de I/O do disco

Dispositivos de Armazenamento Secundário: Definição, Tipos e Casos de Uso em

How to check disk I/O speed in linux

O que ninguém te conta sobre gerenciar servidores em produção