Por que o rsync está demorando muito em arquivos grandes que já existem?

3

Eu fiz um backup de uma das unidades internas do meu computador para um externo. A próxima vez que usei o rsync para sincronizar as duas unidades, notei que arquivos grandes (40 GB) que não foram modificados ainda demoravam muito para serem "copiados". Eu pensei que o rsync olhou mod-times e tamanho do arquivo primeiro? Por que demoraria tanto? como se estivesse usando a soma de verificação?

Eu tinha originalmente copiado os arquivos usando rsync -rv --delete /src/path/ /dest/path/

    
por DeepDeadpool 05.11.2018 / 17:04

1 resposta

3

Como você não está copiando os metadados (o que você faria se usasse --archive ou -a em vez de apenas -r ), os metadados (timestamps, propriedades etc.) serão diferentes entre a cópia e a original. Quando você executa rsync novamente, como os registros de data e hora são diferentes, o arquivo é copiado novamente.

Então, você preferiria usar

rsync -ai --delete /src/path/ /dest/path

Estou usando -i ( --itemize-changes ), pois também me diz porque um arquivo foi copiado.

Observe também que quando você faz uma cópia local com rsync , não usa seu algoritmo delta, mas se comportará como se --whole-file (ou -W ) foi 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, o arquivo inteiro precisaria ser lido e verificado nos sistemas de origem e de destino. Fazer isso localmente parece um pouco inútil, então o arquivo é copiado integralmente.

    
por 05.11.2018 / 17:11

Tags