Fiz um backup de uma das unidades internas do meu computador para uma externa. Na próxima vez que usei o rsync para sincronizar as duas unidades, notei que arquivos grandes (40 + GB) que não foram modificados ainda estavam demorando muito para "copiar". Eu pensei que o rsync olhou para os tempos de modificação e o tamanho do arquivo primeiro? Por que levaria tanto tempo; como se estivesse usando checksum?
Eu originalmente copiei os arquivos usandorsync -rv --delete /src/path/ /dest/path/
Como você não está copiando os metadados (o que você faria se usasse
--archive
ou-a
em vez de apenas-r
), os metadados (carimbos de data e hora, propriedades etc.) serão diferentes entre a cópia e o original. Quando você executarsync
novamente, já que os timestamps são diferentes, o arquivo é copiado novamente.Então, você preferiria usar
Estou usando
-i
(--itemize-changes
) porque também me diz por que um arquivo foi copiado.Observe também que quando você faz uma cópia local
rsync
com , ela não usará seu algoritmo delta, mas se comportará como se--whole-file
(ou-W
) tivesse sido especificado. Isso ocorre porque o algoritmo delta é considerado apenas mais rápido do que uma transferência de arquivo inteira ao transferir por uma rede. Ao usar o algoritmo delta, todo o arquivo precisaria ser lido e somado nos sistemas de origem e destino. Fazer isso localmente parece um pouco inútil, então o arquivo é copiado por completo.