Общие протоколы HTTP, FTP и SFTP поддерживают запросы диапазона , поэтому вы можете запросить часть файла. Обратите внимание, что для этого также требуется поддержка сервера, поэтому он может работать или не работать на практике.
Вы можете использовать curl
и опцию -r
или, --range
чтобы указать диапазон и в конечном итоге просто cat
связать файлы вместе. Пример:
curl -r 0-104857600 -o distro1.iso 'http://files.cdn/distro.iso'
curl -r 104857601-209715200 -o distro2.iso 'http://files.cdn/distro.iso'
[…]
И в конце концов, когда вы собрали отдельные части, вы объединяете их:
cat distro* > distro.iso
Вы можете получить дополнительную информацию о файле, включая его размер, с помощью --head
опции:
curl --head 'http://files.cdn/distro.iso'
Вы можете получить последний кусок с открытым диапазоном:
curl -r 604887601- -o distro9.iso 'http://files.cdn/distro.iso'
Прочитайте справочную страницу curl для получения дополнительных опций и объяснений.
Вы также можете использовать ssh и tmux, чтобы упростить запуск и отслеживание загрузок на нескольких серверах.