GNU/Linux >> Znalost Linux >  >> Linux

Jak distribuovat velké stahování na více počítačů?

Potřebuji stáhnout velký soubor (1GB). Mám také přístup k více počítačům se systémem Linux, ale každý je omezen na rychlost stahování 50 kB/s podle zásad správce.

Jak rozložím stahování tohoto souboru na několik počítačů a po stažení všech segmentů je sloučím, abych jej mohl přijímat rychleji?

Přijatá odpověď:

Běžné protokoly HTTP, FTP a SFTP podporují požadavky na rozsah , takže si můžete
vyžádat část souboru. Všimněte si, že to také vyžaduje podporu serveru, takže to
v praxi může nebo nemusí fungovat.

Můžete použít curl a -r nebo --range možnost specifikovat rozsah a
případně jen cat spojování souborů dohromady. Příklad:

curl -r 0-104857600         -o distro1.iso 'http://files.cdn/distro.iso'
curl -r 104857601-209715200 -o distro2.iso 'http://files.cdn/distro.iso'
[…]

A nakonec, když shromáždíte jednotlivé části, zřetězíte je:

cat distro* > distro.iso

Další informace o souboru, včetně jeho velikosti, získáte pomocí --head možnost:

curl --head 'http://files.cdn/distro.iso'

Můžete načíst poslední blok s otevřeným rozsahem:

curl -r 604887601- -o distro9.iso 'http://files.cdn/distro.iso'

Přečtěte si manuálovou stránku curl pro více možností a vysvětlení.

Můžete dále využít ssh a tmux pro usnadnění spouštění a sledování
stahování na více serverech.


Linux
  1. Jak stahovat a nahrávat soubory přes SSH

  2. Jak procházet řádky souboru?

  3. Jak připojit více řádků k souboru?

  1. wget vs curl:Jak stahovat soubory pomocí wget a curl

  2. Jak si stáhnu tarball z GitHubu pomocí cURL?

  3. Jak zašifrovat velký soubor v openssl pomocí veřejného klíče

  1. Jak nastavím curl, aby trvale používal proxy?

  2. Jak stáhnout soubor ze serveru pomocí SSH?

  3. Jak stáhnout soubor z URL v Linuxu