rsync como fazer um checksum no rsync

ao usar o rsync às vezes o rsync não copia todos os arquivos feitos, abaixo está o meu código que eu uso. Eles são uma maneira de fazer um checksum ou verificar após o rsync para ver se todos os arquivos foram copiados e se não tentar novamente até que todos os arquivos foram copiados?

TEMP="/home/user/temp"
OPTS="-rav -h"

rsync $OPTS --stats [email protected]:/home/user/Local $TEMP
Author: Oded, 2013-04-03

3 answers

Acho que é melhor resolver isto configurando {[[0]} adequadamente. Leia a página man:) existem opções (como --checksum para isto).

Você pode fazer isso sozinho também:

  1. find todos os ficheiros na pasta do rsync.
  2. xargs md5sum para obter um código de validação para todos os ficheiros
  3. md5sum Os códigos de validação

Se fizer isso em ambos os lados (local/remoto), terá um código de validação a comparar.

 3
Author: slezica, 2015-08-31 21:50:13

Como sugerido pela resposta de uʍop ǝpısdn, {[[0]} ou rsync --checksum podem fazer o que precisarem.

- c, -- checksum: ignorar com base no checksum, não em mod-time & size

Isto obriga o remetente a verificar todos os ficheiros regulares usando um Código MD4 de 128 bits. Ele faz isso durante o sistema de arquivos inicial digitalizar à medida que ele constrói a lista de todos os arquivos disponíveis. Receptor em seguida, checksums sua versão de cada arquivo (se ele existe e tem o o mesmo tamanho do seu remetente contraparte) a fim de decidir qual arquivos precisam ser atualizados: arquivos com um tamanho alterado ou um o código de validação alterado está seleccionado para a transferência. Uma vez que todo este ficheiro verificação de todos os arquivos em ambos os lados da conexão ocorre em adição às verificações automáticas de verificação que ocorrem durante um transferência de arquivo, esta opção pode ser bastante lenta.

Note que rsync sempre verifica se cada ficheiro transferido foi correctamente reconstruído no lado receptor verificando o seu checksum de ficheiros completos, mas que a verificação automática após a transferência não tem nada a ver com esta opção é antes da transferência " este ficheiro precisa de ser actualizado?" verificar.

As preocupações sobre este ser lento provavelmente não são relevantes hoje em dia, e esta parece ser uma boa opção quando você não pode ou não quer confiar em tempos de modificação.

 14
Author: Tom, 2013-10-23 11:39:16

Uso rsync -Pahn --checksum /path/to/source /path/to/destination | sed '/\/$/d' | tee migration.txt

sed remove as pastas da verificação do código de validação. tee saídas para a tela e para o arquivo ao mesmo tempo.

Tenha em mente que este pode não ser um método adequado se você tem arquivos muito grandes, como a verificação vai demorar muito tempo.

Origem

 0
Author: Gaia, 2018-07-07 21:29:06