24 de fev. de 2014

Comparando e igualando diretórios com o rsync

Outro dia mostrei como criar um compartilhamento NFS. Na ocasião eu precisava comparar e igualar uns diretórios e para isso usei o utilitário rsync.

Comparando diretórios

rsync -vrhin <diretório_origem> <diretório_destino>
Onde:
  • v - mostra os arquivos e diretórios que são copiados
  • r - pesquisa os diretórios e subdiretórios abaixo dos diretórios indicados como origem e destino
  • h - mostra as informações de maneira compreensível
  • i - mostra alguns detalhes como a direção, o tipo de arquivo, o processo, as diferenças
  • n - não faz nenhuma alteração nos arquivos
Se o diretório contiver muitos subdiretórios e arquivos, o ideal é mandar a saída padrão para um arquivo para facilitar a conferência:
rsync -vrhin <diretório_origem> <diretório_destino> > resultado

Igualando diretórios

rsync -vazuhi --progress --delete <diretório_origem> <diretório_destino>
... onde:
  • a - mantém atributos e permissões no destino iguais à origem
  • z - compacta os arquivos na origem para reduzir o tráfego, descompactando-os automaticamente no destino
  • u - no caso do arquivo ou diretório já existir no destino, só copia/atualiza se esse for mais antigo que o que está sendo copiado
  • --progress - mostra o progresso individual da cópia de cada arquivo
  • --delete - apaga arquivos presentes no destino que não estão mais presentes na origem
Obviamente é necessária cautela ao usar o recurso, principalmente se existem dados sensíveis no destino.
Se houver dúvida, use a opção n (dry-run) a fim de observar o resultado antes de rodar o processo definitivo, o comando ficaria assim:
rsync -vazuhin --progress --delete <diretório_origem> <diretório_destino>

Nenhum comentário:

Postar um comentário

Todo comentário é moderado para evitar spam e trolls, sendo assim pode demorar um pouco para aparecer. Seja educado.