Comportamento estranho de rsync

1

Então, começo com a comparação de dois diretórios:

[root@135759 ]# rsync -av test1/ test2/
building file list ... done

sent 128 bytes  received 20 bytes  296.00 bytes/sec
total size is 6  speedup is 0.04

Ambos estão em sincronia Agora, deixe-me criar um arquivo no test1 e copiá-lo para test2

[root@135759 ]# touch test1/hello4.php
[root@135759 ]# scp test1/hello4.php  test2/hello4.php

Verifico que são iguais:

[root@135759 test2]# md5sum test1/hello4.php
d41d8cd98f00b204e9800998ecf8427e  hello4.php

[root@135759 test1]# md5sum test2/hello4.php
d41d8cd98f00b204e9800998ecf8427e  hello4.php

Assim, a execução do rsync mostrará 0 arquivos. Por que a saída não está correta?

[root@135759 ]# rsync -avn test1/ test2/
building file list ... done
hello4.php

sent 116 bytes  received 24 bytes  280.00 bytes/sec
total size is 6  speedup is 0.04
    
por Stewie 10.03.2011 / 23:38

2 respostas

3

O conteúdo do arquivo é o mesmo, então o rsyinc está enviando poucos dados. Mas suspeito que alguns dos metadados nos arquivos sejam diferentes. Eu estou supondo a criação versus timestamps modificados talvez com base no seu exemplo. Verifique esses antes de executar o rsync pela segunda vez. Quando o rysnc vê carimbos de data e hora diferentes, ele faz uma "transferência" desse arquivo, mesmo se nenhum dado do arquivo estiver envolvido, e apenas metadados.

    
por 10.03.2011 / 23:45
1

O rsync, por padrão, faz comparações 'rápidas' por mtime e tamanho de arquivo; mesmo o desvio do relógio local pode causar problemas com isso, portanto, se você realmente precisa saber que os arquivos são idênticos antes de decidir ignorá-los para transferência, use a opção --checksum do rsync, que fará o checksum do arquivo em cada extremidade e resultados. Esteja avisado que, para operações que envolvam arquivos grandes ou muitos arquivos, ou ambos, essa opção pode exigir muito da CPU e aumentar o tempo necessário para sincronizar consideravelmente.

    
por 11.03.2011 / 00:01

Tags