Como verificar se um arquivo enviado foi enviado corretamente

0

Eu carreguei um arquivo ISO para o meu servidor via rsync. Como posso verificar se está correto (não corrompido ou algo assim). Isto é apenas no caso de o rsync ter um problema.

    
por Luis Alvarado 24.12.2011 / 20:45

1 resposta

2

Uma maneira de fazer isso seria usar o md5sum para computar um resumo de mensagem antes de enviar o arquivo, em seguida, fazê-lo novamente no final do recebimento e verificar se os hashes correspondem.

$ md5sum foo.bar.iso
d41d8cd98f00b204e9800998ecf8427e  foo.bar

Alternativamente, com um olho voltado para isso em um shell script, você poderia redirecionar a saída do md5sum inicial para um arquivo, enviar o arquivo original e o arquivo com o resumo da mensagem para o host remoto e executar o md5sum no arquivo com o resumo da mensagem. Você frequentemente verá esses arquivos listados em sites de FTP junto com imagens de disco de distribuição do Linux.

$ md5sum foo.bar.iso > md5sum.txt
$ rsync foo.bar.iso remotehost:/home/user
$ rsync md5sum.txt remotehost:/home/user
$ ssh remotehost 'md5sum -c md5sum.txt'
foo.bar.iso: OK
    
por bgvaughan 24.12.2011 / 21:02