O rsync é uma das melhores ferramentas para backup no Linux. Ele preserva permissões, datas, links simbólicos e atributos dos arquivos — e só copia o que mudou desde o último backup, o que economiza tempo e espaço em execuções recorrentes.
O comando
rsync -aAXHv --progress /home/pedro/ /mnt/backup/pedro/ ⚠️ Atenção às barras: No rsync, a barra no final da origem (
/home/pedro/) significa "copie o conteúdo desta pasta". Sem a barra (/home/pedro), ele criaria uma pastapedrodentro do destino. Escolha sempre com consciência.
Cada opção tem um papel específico:
-a— modo arquivo: preserva estrutura de diretórios, permissões, datas e links simbólicos-A— preserva ACLs (listas de controle de acesso)-X— preserva atributos estendidos-H— preserva hard links-v— modo verbose: exibe os arquivos sendo transferidos--progress— mostra o progresso de cada arquivo durante a cópia
Dica de Ouro: Antes de rodar o comando de verdade pela primeira vez, adicione a flag
--dry-runno final. Ele fará uma "simulação" e mostrará exatamente o que seria copiado, sem tocar nos arquivos.
(Nota: Evite usar sudo nesse comando. Se o destino pertencer a você, o rsync normal preservará seu usuário como dono dos arquivos. O sudo pode forçar os arquivos de backup a pertencerem ao root).
Por que usar o rsync e não um simples cp?
O cp copia tudo sempre. O rsync verifica o que mudou e transfere apenas as diferenças. Na primeira execução o tempo é parecido, mas nas seguintes a diferença é enorme. Para backup recorrente, isso faz toda a diferença.
Outro ponto importante: o rsync preserva metadados que o cp costuma ignorar, como permissões especiais e atributos estendidos. Isso é essencial quando a intenção é restaurar o sistema exatamente como estava.
Dica extra: excluindo pastas desnecessárias
Algumas pastas dentro do home crescem rápido e geralmente não precisam entrar no backup — como caches de navegador e miniaturas. Para excluí-las:
rsync -aAXHv --progress \
--exclude='.cache/' \
--exclude='.local/share/Trash/' \
/home/pedro/ /mnt/backup/pedro/ E se eu quiser um espelho perfeito? (O flag --delete)
Se você deletou um arquivo no seu home e quer que ele também seja deletado no backup (para que fiquem idênticos), adicione o --delete:
rsync -aAXHv --progress --delete /home/pedro/ /mnt/backup/pedro/ Use essa opção com cuidado. Se você errar a origem ou o destino, pode apagar dados involuntariamente.
Automatizando com cron
Para rodar o backup todo dia às 2h da manhã, adicione uma entrada no crontab:
crontab -e 0 2 * * * rsync -aAXH /home/pedro/ /mnt/backup/pedro/ >> /var/log/rsync-backup.log 2>&1 (Nota: No cron, removi o --progress, pois ele gera caracteres de barra de progresso que sujam o arquivo de log).
O rsync é simples, confiável e já vem instalado na maioria das distribuições Linux. Para quem quer manter o home seguro sem complicação, ele é mais do que suficiente.