rsync хорош, только если у вас есть rsync на целевом сервере. В таком случае это действительно лучшее решение.
Но не иначе. Поскольку rsync предназначено только для копирования измененных частей в большие файлы, предполагается, что эти измененные части могут находиться в любом месте файла. Это означает, что будет проверена контрольная сумма всех блоков, которые уже были скопированы. Если у вас нет rsync на удаленном конце, ваш локальный rsync начнёт с чтения всего, что уже было передано.
Если на вашем исходном компьютере есть веб- или ftp-сервер, вы можете использовать wget с конечного сервера с параметром «--continue». (или скручивать с опцией "--continue-at [- | size]").
Если на вашем конечном компьютере есть FTP-сервер, вы можете использовать curl на исходном компьютере с параметром --append.
В качестве последнего средства вы можете использовать dd с аргументами "bs =" (размер блока), "skip =" и "seek =". Например:
Предположим, вы сможете использовать блоки по 2048 байт. Если размер файла назначения составляет 2 048 000 000 байт (2 ГБ), то это 1 000 000 блоков по 2048 байт. Чтобы добавить оставшуюся часть исходного файла к месту назначения, вы можете
дд если = исходный_файл = конечный_файл bs = 2048 пропуск = 1000000 поиск = 1000000
Вы можете использовать больший размер блока для улучшения скорости передачи. Просто не забудьте указать размер блока с помощью bs =, и значение, пропускаемое и ищущее, указывается в блоках, а не в байтах.