Use somente a comparação do mtime com o rsync?

4

É possível sincronizar arquivos via rsync e deixar rsync comparar somente as informações do mtime?

Ou existe outra ferramenta para este trabalho?

Isso significa que tal ferramenta só copia src para o destino se o src for mais recente que o destino. Comparável ao GNU cp --update - mas também ao ssh ...

    
por maxschlepzig 23.11.2011 / 22:20

1 resposta

5

Sim, é possível. rsync também tem --update , mas com ele rsync ainda usa seu algoritmo de transferência delta no caso de o src ser mais novo. rsync fornece a opção --whole-file para desativar esse algoritmo. Assim,

$ rsync --update --whole-file ...

deve ter o efeito de que os arquivos src só são copiados para o destino quando eles são mais recentes. E somente as verificações de horário devem ser usadas para isso.

Existem várias razões para evitar o algoritmo de transferência delta para casos de uso especiais. Principalmente razões de desempenho e talvez transferir volume em casos muito especiais.

Para citar a man-page:

-W, --whole-file

With this option rsync’s delta-transfer algorithm is not used and the whole file is sent as-is instead. The transfer may be faster if this option is used when the bandwidth between the source and destination machines is higher than the bandwidth to disk (especially when the "disk" is actually a networked filesystem). This is the default when both the source and destination are specified as local paths, but only if no batch-writing option is in effect.

O caso dos sistemas de arquivos em rede deve ser o mais comum.

Além disso, como o algoritmo de transferência delta é uma heurística, é possível imaginar arquivos em que o algoritmo acaba transferindo todo o arquivo e apenas adiciona sobrecarga (tempo e espaço).

    
por 23.11.2011 / 22:36