Como fazer backup incremental de servidor Linux com rsync e cron
Backup completo todo dia consome tempo e espaço em disco desnecessariamente. O rsync, combinado com cron, permite fazer backups incrementais em um servidor Linux — copiando só o que mudou desde a última execução — de forma automática e sem depender de serviços pagos de terceiros.
O que você vai precisar
- Acesso root ou sudo ao servidor de origem e ao destino do backup
- rsync instalado (já vem por padrão na maioria das distribuições)
- Um destino de backup: outro servidor, um NAS ou um disco externo montado
Passo 1: montar o comando básico de rsync
Um comando típico de backup incremental usa as flags -avz (arquivo, verboso, compressão) combinadas com –link-dest, apontando para o backup anterior. Isso faz o rsync criar hard links para arquivos que não mudaram, economizando espaço, e copiar fisicamente apenas os arquivos novos ou alterados.
Passo 2: criar um script de backup com data
Um script simples em bash pode gerar uma pasta de destino nomeada com a data do dia (ex: backup-2026-08-05), rodar o rsync apontando –link-dest para o backup do dia anterior, e registrar um log de saída para conferência posterior.
Passo 3: agendar no cron
Com o script pronto e testado manualmente, adicione uma linha ao crontab (via crontab -e) definindo o horário de execução — geralmente de madrugada, fora do horário de pico de uso do servidor — para rodar o script automaticamente todos os dias.
Erros comuns
- Não testar o script manualmente antes de agendar, descobrindo erros de permissão só quando o backup falha silenciosamente à noite
- Não monitorar o espaço em disco do destino, que pode encher com o tempo mesmo com backups incrementais
- Guardar backup e produção no mesmo servidor físico, perdendo os dois em caso de falha de hardware
Conclusão
Um esquema de backup incremental com rsync e cron é simples de montar e evita o custo de ferramentas comerciais para cenários pequenos e médios — mas só vale a pena se alguém também testar a restauração de tempos em tempos.