[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Скачать файл в несколько потоков



On Mon, Mar 19, 2007 at 11:25:42PM +0500, Sentinel wrote:

> Коллеги, возникла необходимость скачать файл размером в 4 гигабайта в
> несколько потоков одновременно. Система Debian Sarge. Чем это можно сделать?
> Раньше обходился wget, но он однопотоковый. Собственно, спрашиваю потому,
> что попробовал всё мне известное, из имеющегося в дистрибутиве:
> 
> wget - отпадает
> aget - упорно не желает признавать истинный размер файла, выставляет
> почему-то два гига с копейками
> aria - параметр threads есть, но, насколько я понял, чисто для красоты, т.к.
> что там ни поставь, закачка идёт в один поток
> d4x - однопотоковый
> curl - насколько я понял тоже однопотоковый
> lftp - позволяет качать в несколько потоков только с начала файла; если
> закачка прерывается, продолжение невозможно, только с нуля
> 
> Ткните, очень прошу, в нужную прогу. Или объясните как решить задачку с
> помощью одной из вышеперечисленных. Спасибо!

С помощью wget решить можно, если создать несколько файлов разного
размера и их докачивать, а потом склеить нужные куски, примерно так:

wget -c -O 0g-1g http://server/file &
wget -c -O 1g-2g http://server/file &
wget -c -O 2g-3g http://server/file &
wget -c -O 3g-4g http://server/file &

За размерами файлов, правда, придётся следить вручную/cron-ом и
прибивать докачавший свою часть процесс, чтобы не скачать лишнего.

Файлы на ext2 нужно создавать sparse, чтобы не занимали слишком много
лишнего места:

dd if=/dev/zero of=1g-2g bs=1 seek=1024M count=0

Это может пригодиться, например, если доступ только по ssh и иксовую
качалку не запустить.


-- 
Оля



Reply to: