Usando o rsync para sincronizar pastas sem sobrescrever arquivos de mesmo nome no Mac OS X

3

Gostaria de sincronizar o conteúdo de dois diretórios.

  • Sem substituir, mas para criar uma cópia se dois arquivos tiverem o mesmo nome, mas tamanhos diferentes
  • Sem duplicar se dois arquivos tiverem o mesmo nome e tamanho.
  • Para trabalhar de forma recursiva

Até agora eu encontrei o seguinte comando que pode funcionar

 $ rsync -varE --progress ~/folder /volumes/server/folder

Mas não tenho certeza do que o -E flag faz. Foi sugerido por um usuário no bananica.com, mas não pôde ver uma descrição para ele no manual. Isso faria o que eu exigir com sucesso?

    
por Adam-E 02.02.2012 / 12:19

1 resposta

5

-E na verdade preserva os atributos estendidos no OS X, mas -a (--arquivo) implica -p (--perms) que implica em --executabilidade.

-b (--backup) adiciona um til ao final dos arquivos que normalmente seriam sobrescritos:

rsync -ab ~/folder /Volumes/server/

-b --suffix _old renomeava file.txt para file.txt_old

O rsync compara os tamanhos dos arquivos e os tempos de modificação por padrão. --size-only compara apenas tamanhos. -c compara as somas de verificação, mas é mais lento.

    
por 27.03.2013 / 16:51