rsync começa do início após um corte de energia

0

Parece que o rsync salva um arquivo temporário no local quando sincronizo um arquivo grande no remoto.

Em seguida, a máquina encontra um desligamento abrupto para desligar.

Depois de iniciar a máquina novamente, parece que o rsync sincroniza o arquivo grande do begin, mas descobri que há um arquivo já sincronizado com 60% (1G), o que há de errado com o uso do rsync?

comando que usei:

rsync --partial -av -r --progress user@remote /local-dir
    
por Sam Liao 06.12.2009 / 09:34

4 respostas

1

Como Tim disse, isso parece normal; O rsync saberá que tem um arquivo que parece ser uma cópia parcial do arquivo remoto, mas ele ainda precisa verificar se o arquivo que ele possui é, na verdade, o arquivo do qual você está copiando.

Como está fazendo esta verificação, ele mostrará o número de bytes do arquivo que ele "transferiu", então parecerá que está copiando o arquivo novamente - mas se você observar a velocidade da transferência, ele deve ser muito mais rápido do que seria possível em toda a rede. Eventualmente, o rsync passará dos bytes já copiados e localizará novos bytes que precisam ser transferidos pela rede, e você verá a velocidade diminuir.

Em suma, acho que você está sendo confundido pela saída do rsync, pois ele não diferencia entre "bytes transferidos pela rede" e "bytes transferidos simplesmente verificando se a cópia local corresponde à cópia remota"

    
por 28.12.2009 / 04:35
0

Isso é normal. O rsync deve estar voltando pelos arquivos já transferidos para verificar atualizações.

O sinalizador -u faz com que o rsync observe os tempos de modificação dos arquivos; se você adicionar isso, deve pular os arquivos que não foram alterados na fonte.

    
por 06.12.2009 / 11:38
0

Basta renomear o arquivo temporário (.somethingXYZ) para o nome de arquivo correto (algo) da origem remota.

Em seguida, o rsync DEFINITIVAMENTE só fará o download das coisas que faltam.

(Se você observar a pasta ao executar o rsync, verá um novo arquivo .somethingABC sendo gerado, que crescerá em dezenas de MB / segundo ... porque o rsync estará lendo o arquivo local "half-done" em vez de baixá-lo novamente da fonte remota pela rede).

    
por 02.07.2010 / 16:46
0

Você pode forçar o rsync a verificar o arquivo e copiar apenas os dados restantes com o seguinte comando.

rsync -av --progress --checksum --inplace --no-whole-file SOURCE DESTINATION

    
por 23.10.2016 / 17:48

Tags