Pedro Paulo

Como fazer backup do seu home com rsync

por Pedro Paulo

Dica Rápida

Dica Rápida

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 pasta pedro dentro 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-run no 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.


Deixe um Comentário