Rsync - reenviando todos os arquivos, porque os arquivos possuem um timestamp diferente (desativado em 1 segundo!)

5

Estou usando o rsync para fazer backup de arquivos do meu laptop Mac para uma unidade USB (exFAT) no meu laptop Windows. A unidade USB é compartilhada na minha rede doméstica e montada no meu Mac.

Eu notei um problema estranho quando o rsync estava reenviando todos os arquivos, mesmo que eu não tivesse feito nada para modificá-los.

Quando acionei --itemize-changes , posso ver que t estava na saída de cada arquivo, indicando que os registros de data e hora do arquivo eram o motivo para reenvio.

>f..t.... netstat.txt

ls -lT (osx) indicou um carimbo de data e hora formatado em segundos que mostrou uma segunda diferença entre o arquivo, com a origem sendo mais recente.

$ ls -lT source/file.txt 
-rwxr-----  1 user  group  1176 Sep 19 22:32:59 2014 file.txt
$ ls -lT destination/file.txt 
-rwx------  1 user  group  1176 Sep 19 22:32:58 2014 file.txt

Adicionar a opção -c ao rsync ignorou a diferença de registro de data e hora e ignorou as transferências desnecessárias. No entanto, gostaria de saber por que meus arquivos de origem e de destino têm uma diferença de registro de data e hora de 1 segundo (tanto quanto me incomodei em verificar).

    
por barrrista 25.05.2015 / 08:39

1 resposta

9

Eu sei que os sistemas de arquivos podem lidar com o tempo de maneira diferente, então essa é provavelmente a origem da discrepância. Você pode ajustar o limite da comparação de tempo de modificação com --modify-window.

# Ignore up to a 5 second difference. Tighten up as desired.
rsync --modify-window=5 do whatever...

Aproveite

    
por 25.05.2015 / 13:24