Como distribuo um download grande em vários computadores?

38

Eu preciso baixar um arquivo grande (1 GB). Eu também tenho acesso a vários computadores que executam o Linux, mas cada um é limitado a uma velocidade de download de 50kB / s por uma política de administração.

Como faço para distribuir o download deste arquivo em vários computadores e mesclá-los depois que todos os segmentos tiverem sido baixados, para que eu possa recebê-lo mais rapidamente?

    
por Meysam 31.08.2014 / 10:36

2 respostas

60

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.

    
por 31.08.2014 / 11:21
0

Demoraria cerca de 5,5 horas para carregar um arquivo de 1 gigabyte a 50 kilobytes por segundo.

Parece que o esforço para coordenar vários computadores para obter parciais pode economizar algum tempo.

Você pode olhar para bittorrent e utilizar web semeando junto com as transferências via troca de peer. Cada cliente pode receber peças e compartilhar peças concluídas com a rede local (LAN). Você acaba com o mesmo arquivo de 1GB em cada computador, mas a mesclagem de peças é automatizada para você.

    
por 25.06.2016 / 23:16