11 min de leitura · Guia técnico
Para configurar backup incremental e completo no Linux, utilize ferramentas como rsync e tar para criar cópias de segurança eficientes. O backup completo copia todos os arquivos, enquanto o incremental salva apenas os modificados desde o último backup.
- Instale as ferramentas rsync e tar no sistema
- Configure diretórios de origem e destino dos backups
- Crie scripts para backup completo mensal
- Configure backup incremental diário com rsync
- Automatize execução via crontab
- Teste restauração dos dados salvos
Pré-requisitos
- Acesso root ou sudo ao servidor Linux
- Espaço em disco suficiente para armazenar backups
- Ferramentas rsync e tar instaladas no sistema
- Conhecimento básico de comandos Linux e crontab
- Diretório de destino configurado (local ou remoto)
Diferenças entre backup incremental e completo
O backup completo cria uma cópia integral de todos os arquivos selecionados, independentemente de terem sido modificados ou não. Este método garante que todos os dados estejam disponíveis em um único local, facilitando a restauração, mas consome mais tempo e espaço de armazenamento.
Já o backup incremental salva apenas os arquivos que foram criados ou modificados desde o último backup realizado. Esta abordagem é significativamente mais rápida e econômica em termos de espaço, mas requer o backup completo inicial e todos os incrementais subsequentes para uma restauração completa.
A principal vantagem do backup incremental é a eficiência: enquanto um backup completo de 100GB pode levar horas, um incremental típico processa apenas alguns megabytes em minutos. Porém, a restauração incremental é mais complexa, exigindo a aplicação sequencial de múltiplos arquivos.
Configurando backup completo com tar
O comando tar é ideal para criar backups completos devido à sua capacidade de compressão e preservação de permissões. Primeiro, crie o diretório de destino e configure o script básico:
sudo mkdir -p /backup/completo
sudo nano /usr/local/bin/backup-completo.sh
Adicione o seguinte conteúdo ao script:
#!/bin/bash
DATA=$(date +%Y%m%d_%H%M%S)
ORIGEM="/home /etc /var/www"
DESTINO="/backup/completo"
ARQUIVO="backup_completo_$DATA.tar.gz"
echo "Iniciando backup completo em $(date)"
tar -czf $DESTINO/$ARQUIVO $ORIGEM
echo "Backup completo finalizado: $DESTINO/$ARQUIVO"
Torne o script executável e teste sua execução:
sudo chmod +x /usr/local/bin/backup-completo.sh
sudo /usr/local/bin/backup-completo.sh
Output esperado:
Iniciando backup completo em Mon Dec 18 10:30:15 UTC 2026
Backup completo finalizado: /backup/completo/backup_completo_20261218_103015.tar.gz
Otimizando backup completo com exclusões
Para melhorar a eficiência, exclua diretórios temporários e arquivos desnecessários do backup completo:
tar -czf $DESTINO/$ARQUIVO \
--exclude='/tmp/*' \
--exclude='/var/tmp/*' \
--exclude='/var/cache/*' \
--exclude='/proc/*' \
--exclude='/sys/*' \
$ORIGEM
Implementando backup incremental com rsync
O rsync oferece recursos avançados para backup incremental eficiente, incluindo hardlinks que economizam espaço significativo. Configure o ambiente inicial:
sudo mkdir -p /backup/incremental
sudo nano /usr/local/bin/backup-incremental.sh
Script completo para backup incremental:
#!/bin/bash
DATA=$(date +%Y%m%d_%H%M%S)
ORIGEM="/home /etc /var/www"
DESTINO="/backup/incremental"
ATUAL="$DESTINO/atual"
HISTORICO="$DESTINO/historico_$DATA"
# Cria backup incremental usando hardlinks
rsync -av --delete --link-dest="$ATUAL" $ORIGEM "$HISTORICO"
# Atualiza link para backup mais recente
rm -f "$ATUAL"
ln -s "$HISTORICO" "$ATUAL"
echo "Backup incremental concluído: $HISTORICO"
Execute o primeiro backup incremental:
sudo chmod +x /usr/local/bin/backup-incremental.sh
sudo /usr/local/bin/backup-incremental.sh
Output esperado:
sending incremental file list
home/
home/usuario/
home/usuario/.bashrc
var/www/html/index.html
Backup incremental concluído: /backup/incremental/historico_20261218_143022
Verificando economia de espaço do backup incremental
Confirme a eficiência do backup incremental verificando o uso de espaço:
du -sh /backup/incremental/historico_*
ls -la /backup/incremental/
Os backups incrementais subsequentes mostrarão tamanhos significativamente menores, demonstrando a economia de espaço através dos hardlinks.
Automatização com crontab
A automatização de backups garante proteção contínua dos dados sem intervenção manual. Configure o crontab para executar backups em horários otimizados:
sudo crontab -e
Adicione as seguintes linhas para automatizar ambos os tipos de backup:
# Backup completo todo primeiro domingo do mês às 2h
0 2 1-7 * 0 /usr/local/bin/backup-completo.sh >> /var/log/backup-completo.log 2>&1
# Backup incremental diário às 3h (exceto domingos)
0 3 * * 1-6 /usr/local/bin/backup-incremental.sh >> /var/log/backup-incremental.log 2>&1
Verifique se os agendamentos foram configurados corretamente:
sudo crontab -l
Monitoramento de logs de backup
Configure rotação de logs para evitar crescimento excessivo dos arquivos de log:
sudo nano /etc/logrotate.d/backup
Adicione a configuração de rotação:
/var/log/backup-*.log {
weekly
rotate 4
compress
missingok
notifempty
}
Estratégias de retenção e limpeza
Implemente políticas de retenção para gerenciar o crescimento dos backups e otimizar o uso do espaço em disco. Crie um script de limpeza automática:
sudo nano /usr/local/bin/limpeza-backup.sh
Script para remoção automática de backups antigos:
#!/bin/bash
# Remove backups completos com mais de 90 dias
find /backup/completo -name "backup_completo_*.tar.gz" -mtime +90 -delete
# Remove backups incrementais com mais de 30 dias
find /backup/incremental -name "historico_*" -mtime +30 -exec rm -rf {} \;
# Mantém apenas os 7 backups incrementais mais recentes
cd /backup/incremental
ls -t historico_* | tail -n +8 | xargs rm -rf
echo "Limpeza de backups concluída em $(date)"
Automatize a limpeza executando semanalmente:
sudo chmod +x /usr/local/bin/limpeza-backup.sh
echo "0 1 * * 0 /usr/local/bin/limpeza-backup.sh >> /var/log/limpeza-backup.log 2>&1" | sudo tee -a /var/spool/cron/crontabs/root
Testando restauração de backups
A validação de backups é crucial para garantir que os dados possam ser recuperados quando necessário. Teste regularmente ambos os métodos de restauração.
Para restaurar um backup completo:
sudo mkdir /restore-test
cd /restore-test
sudo tar -xzf /backup/completo/backup_completo_20261218_103015.tar.gz
Para restaurar backup incremental, você precisa do backup completo inicial mais todos os incrementais:
sudo mkdir /restore-incremental
sudo rsync -av /backup/incremental/atual/ /restore-incremental/
Verifique a integridade dos arquivos restaurados:
sudo diff -r /home/usuario /restore-test/home/usuario
echo $?
Output esperado (arquivos idênticos):
0
Validação automatizada de backups
Implemente verificações automáticas de integridade nos scripts de backup:
# Adicione ao final dos scripts de backup
if [ $? -eq 0 ]; then
echo "Backup realizado com sucesso"
# Teste básico de integridade
if [ -f "$DESTINO/$ARQUIVO" ]; then
tar -tzf "$DESTINO/$ARQUIVO" > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "Integridade do backup verificada"
else
echo "ERRO: Backup corrompido detectado"
fi
fi
else
echo "ERRO: Falha na criação do backup"
fi
Problemas comuns e como resolver
Erro: "No space left on device" durante backup
Causa: Espaço insuficiente no disco de destino dos backups.
Solução: Verifique o espaço disponível com df -h e execute a limpeza de backups antigos ou mova para um volume com mais espaço. Configure alertas de monitoramento de disco.
Backup incremental não detecta arquivos modificados
Causa: Problemas com timestamps ou configuração incorreta do rsync.
Solução: Adicione a flag --checksum ao rsync para comparar conteúdo em vez de apenas timestamps. Verifique se o sistema de arquivos suporta timestamps precisos.
Falha na restauração de backup incremental
Causa: Cadeia de backups incrementais quebrada ou backup completo inicial ausente.
Solução: Mantenha sempre o backup completo inicial e todos os incrementais subsequentes. Documente a sequência de backups e implemente verificações de integridade da cadeia.
Perguntas frequentes sobre backup incremental vs completo no Linux
Qual a diferença entre backup incremental e completo no Linux?
Backup completo copia todos os arquivos do sistema, enquanto backup incremental copia apenas os arquivos modificados desde o último backup. O incremental é mais rápido e usa menos espaço, mas requer o backup completo inicial para restauração.
Quando usar backup incremental em vez de completo?
Use backup incremental para rotinas diárias ou semanais em servidores com grandes volumes de dados. Use backup completo mensalmente ou antes de mudanças críticas no sistema. A combinação dos dois oferece proteção otimizada.
Como automatizar backups incrementais no Linux?
Configure scripts com rsync e cron para executar backups incrementais automaticamente. Use flags como --link-dest para criar hardlinks e economizar espaço. Agende execução diária via crontab para manter dados sempre protegidos.
Backup incremental consome muito espaço em disco?
Não, backup incremental usa significativamente menos espaço que backup completo. Ele copia apenas arquivos novos ou modificados, criando hardlinks para arquivos inalterados. Isso resulta em economia de 70-90% do espaço comparado a múltiplos backups completos.
É possível restaurar dados apenas com backup incremental?
Não, você precisa do backup completo inicial mais todos os incrementais subsequentes para restauração completa. Por isso é essencial manter a cadeia de backups íntegra e fazer backups completos periodicamente como ponto de referência.
Conclusão
- Combine backup completo mensal com incremental diário para proteção otimizada de dados
- Automatize execução via crontab e implemente políticas de retenção para gerenciar espaço
- Teste regularmente a restauração de backups para garantir integridade dos dados salvos
Leia também
- Instalando painel de gerenciamento de hospedagem VirtualMin.
- Como usar a ferramenta oficial de acesso remoto do Windows no PC e celular
- Como acessar o painel de gerenciamento dos meus Serviços.
Precisa de ajuda com backup de dados no seu servidor?
Nossa equipe especializada pode configurar estratégias de backup personalizadas para seu ambiente. Oferecemos suporte completo para implementação e monitoramento de soluções de proteção de dados.