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).