para fins de backup, eu transferi um arquivo binário muito grande através de uma conexão lenta comparativamente a montante (a transferência levou 2 semanas), rsyncing em um cifs-share montado (assim eu pude e posso acessá-lo em bloco ).
Após as 2 semanas, o rsync mostrou um erro (infelizmente não pôde salvá-lo), mas o tamanho do arquivo foi correspondido. Também
tail -c 1000000000 myfile.img|md5sum # and
head -c 1000000000 myfile.img|md5sum
correspondência, portanto, o início e o final do arquivo são idênticos.
Como meu downstream é muito mais rápido, fiz o download da imagem completa novamente e fiz md5 somas sobre a coisa toda, e elas NÃO correspondem. Então, aparentemente, em algum lugar nesses 1.5 TB é pelo menos um bit que difere.
Existe uma maneira de gerar um "patch" dos dois arquivos que baixei e então aplicá-lo no arquivo remoto, para que apenas os blocos errados tenham que ser transferidos novamente?
Por favor, note novamente: Eu não tenho o poder de executar o código remotamente ou fazer uso dos recursos do rsync que exigem a execução remota do rsync.
Eu acho que eu ainda poderia usar o rsync e funciona na ordem de magnitude da minha taxa de download, mas eu me pergunto se há uma maneira melhor de fazer uso do fato de que eu tenho a versão localmente.
Provavelmente não seria tão difícil escrever algo, mas eu preferiria usar algo testado e salvar o trabalho.