Os protocolos comuns HTTP, FTP e SFTP suportam solicitações de intervalo , para que você possa solicitar parte de um arquivo. Observe que isso também requer suporte do servidor, portanto, pode ou não funcionar na prática.
Você pode usar curl
e a opção -r
ou --range
para especificar o intervalo e, eventualmente, apenas cat
juntar os arquivos. Exemplo:
curl -r 0-104857600 -o distro1.iso 'http://files.cdn/distro.iso'
curl -r 104857601-209715200 -o distro2.iso 'http://files.cdn/distro.iso'
[…]
E, eventualmente, quando você reúne as partes individuais, você as concatena:
cat distro* > distro.iso
Você pode obter mais informações sobre o arquivo, incluindo seu tamanho com a --head
opção:
curl --head 'http://files.cdn/distro.iso'
Você pode recuperar o último pedaço com um intervalo aberto:
curl -r 604887601- -o distro9.iso 'http://files.cdn/distro.iso'
Leia a página de manual curl para mais opções e explicações.
Você pode aproveitar ainda mais o ssh e o tmux para facilitar a execução e acompanhar os downloads em vários servidores.