rsync sinalizando arquivos que são exatamente os mesmos para timestamp

3

Quando eu faço rsync --dry-run -rv , o rsync está listando arquivos que são idênticos, exceto por seus timestamps.

Meu entendimento é que, com apenas esses sinalizadores (que realmente não alteram o comportamento de comparação), o rsync veria os diferentes timestamps, verificaria os tamanhos dos arquivos (que são, obviamente, os mesmos) e finalmente faria um checksum nos arquivos, antes de sinalizá-los para atualização. Se as somas de verificação forem correspondentes, mesmo que os carimbos de data e hora sejam diferentes, o arquivo não será atualizado.

O que eu estou entendendo mal?

    
por dlo 11.07.2012 / 21:13

1 resposta

4

Parece que você entende as coisas muito bem com uma exceção. Quando você está no modo --dry-run , o rsync não calcula as somas de verificação para que você possa ver arquivos que não seriam transferidos após a conclusão da soma de verificação.

Como o timestamp é diferente, o rsync sabe que ele será atualizado, mas como está no modo de execução a seco, não será possível relatar que a única coisa que precisa ser atualizada é o timestamp.

I'm using it to monitor failure of synchronization between remote machines... so it's really just a remote diff.

Não sei como forçar uma soma de verificação no modo de execução a seco.

Como parece que você está tentando forçar uma comparação de um conjunto local e remoto de arquivos sincronizados, talvez seja melhor tentar algo assim em vez disso? ( sha256deep pode ser substituído por sha1 ou md5 deep se você quiser mais velocidade).

diff -u <( /usr/bin/sha256deep -l -z -r -o f path | sort -k 3 ) \
        <( ssh remote /usr/bin/sha256deep -l -z -r -o f path | sort -k 3 )'

Esse comando calcularia a soma de verificação md5 de cada arquivo, local e remotamente. As duas listas são classificadas no caminho e o diff mostrará a você e as diferenças nas somas de verificação.

    
por 11.07.2012 / 21:18

Tags