Mehrere Connections mit Wget

djrick

Registered User
Hallo,

Ich downloade sehr viel mit wget direkt auf meinen Server. Manchmal bräuchte ich jedoch die Funktion, dass ich mit mehreren Verbindungen gleichzeitig runterladen kann.

Meine konkrete Frage ist, kann wget (oder gern auch ein anderes Konsolentool) eine Datei mit mehreren Verbindungen gleichzeitig runterladen?

Die meisten (Windows)downloadmanager können das ja. Wenn man einen langsamen Server hat, dann läd man einfach mit 4 Verbindungen gleichzeitig runter und erzielt so schnellere Ergebnisse.

Gruß
Oliver
 
Ich kenne kein fertiges Komandozeilen Skript aber wenn dir die Sache wichitg ist kannst du dir was eigenes basteln, IMHO bietet sich dafür Perl/LWP an. Da kannst du dann mit einem passenden "Range" Header gezielt einzelne Dateistücke von mehreren Threads downloaden lassen und zu einer Datei verschmelzen.
 
Danke für die Antwort.
Leider reichen meine Kentnisse nicht so sehr aus. Aber anscheinend ist das wohl eine "Marktlücke" :)
 
Jop, das hat meine googlerei auch ergeben :-P

Verwunderlich, wo doch unter Linuxern die Kommandozeile so beliebt ist...
 
Frage nich gescheit gelesen ;-)
Doch. Aber das hindert mich nicht daran einen, mit dem der Frage nur schwach korrelierenden, Beitrag zu posten :D
Aber anscheinend ist das wohl eine "Marktlücke" :)
IMHO eher eine vernachlässigbar kleine Marktnische ;)
Leider reichen meine Kentnisse nicht so sehr aus.
Wie wärs mit etwas bash Training? Das Perl/LWP Zeug gibt's auch als (halbwegs) eigenständige Programme, für Debian gibt's davon ein fertiges Packet (für andere Distributionen vermutlich auch).
Code:
pos=0;size=2; GET -H "Range: bytes=$((pos*1024*1024))-$(((pos+size)*1024*1024))"  [url]http://url[/url] | dd of=q.test seek=$((pos)) obs=1M & \
pos=2;size=2; GET -H "Range: bytes=$((pos*1024*1024))-$(((pos+size)*1024*1024))"  [url]http://url[/url] | dd of=q.test seek=$((pos)) obs=1M
Das holt z.b. in zwei Verbindungen je zwei MB von der Datei und schreibt sie in der richtigen reienfolge auf die Festplatte. Die Größe der runterzuladenden Datei bekommst du mit HEAD/grep/awk raus, der Rest ist bash Rechnerrei.
Nachteil von so einem bash Skript ist das pro Verbindung 2 Prozesse laufen (was eigentlich nicht so schwerwiegend ist) und das die Fehlerbehandlung schwer und umständlich ist.
Mit wget geht das "Range:" im Header übrigens nicht, das probiert es stur neu wenn es eine "206 Partial Content" und keinen 200 als Rückmeldung bekommt :(
 
Last edited by a moderator:
Cool!

Ich hab jetzt mal 3 Stück probiert:

Puf sieht (für Komandozeile) sehr schön übersichtlich aus
Aria2 kann leider nur maximal 5 Connections (was aber eigentlich schon reicht)
aget konnte ich nicht installieren wegen irgendeinem Glibfehler ;)
 
Back
Top