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 ao servidor, por isso 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
os arquivos juntos. 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ê reunir as partes individuais, você as concatena:
cat distro* > distro.iso
Você pode obter mais informações sobre o arquivo, incluindo seu tamanho com a opção --head
:
curl --head 'http://files.cdn/distro.iso'
Você pode recuperar o último fragmento com um intervalo aberto:
curl -r 604887601- -o distro9.iso 'http://files.cdn/distro.iso'
Leia o enrola a página man para mais opções e explicações.
Você pode aproveitar ainda mais o ssh e o tmux para facilitar a execução e a manutenção controle dos downloads em vários servidores.