в целях резервного копирования я передал очень большой двоичный файл по сравнительно медленному соединению в восходящем направлении (передача заняла 2 недели), выполнив его синхронизацию на смонтированном общем ресурсе cifs (чтобы я мог и смог получить к нему доступ по блоку). Через 2 недели rsync показал ошибку (к сожалению, не смог ее сохранить), но размер файла соответствовал.Также
tail -c 1000000000 myfile.img|md5sum # and
head -c 1000000000 myfile.img|md5sum
совпадают, поэтому начало и конец файла идентичны.
Так как мой нисходящий поток намного быстрее, я снова загрузил полный образ и набрал md5 суммы за все это, и они НЕ совпадают. Так что, видимо, где-то в этих 1,5 ТБ есть хотя бы один бит, который отличается.
Есть ли способ, чтобы сгенерировать "патч" из двух загруженных мной файлов, а затем применить его к удаленному файлу, чтобы снова передавались только неправильные блоки?
Пожалуйста, обратите внимание: у меня нет полномочий удаленно выполнять код или использовать возможности rsync, которые требуют удаленного запуска rsync. Я думаю, что я все еще мог бы использовать rsync, и он работает в порядке величины моей скорости загрузки, но мне интересно, есть ли лучший способ использовать тот факт, что у меня есть обе версии локально. Вероятно, было бы не так сложно что-то написать, но я бы предпочел использовать что-то проверенное и сохранить работу.