Setzen Sie den fehlgeschlagenen Download mit dem Linux-Befehlszeilentool fort

37

Wie setze ich eine teilweise heruntergeladene Datei mit einem Linux-Befehlszeilentool fort?

Ich habe eine große Datei teilweise heruntergeladen, dh 400 MB von 900 MB aufgrund einer Stromunterbrechung, aber wenn ich erneut mit dem Herunterladen beginne, wird sie von Grund auf neu gestartet. Wie starte ich ab 400 MB?

Amolveer
quelle
5
Über welche Befehlszeile haben Sie die Datei ursprünglich heruntergeladen?
Anthon
3
Bitte antworten Sie nicht in einem Kommentar, aktualisieren Sie Ihre unvollständige Frage .
Anthon
1
Wenn Sie verwenden curl, sollten Sie die Manpage nach der -COption durchsuchen .
HalosGhost

Antworten:

53

Da Sie nicht angegeben haben, gehe ich davon aus, dass Sie wgetzum Herunterladen der Datei verwenden. Wenn dies der Fall ist, versuchen Sie es mit der -cOption (z wget -c <URL>. B. ).

Bitte beachten Sie, dass ftp://...der Remote-Server möglicherweise einen alten / alten FTP-Daemon verwendet, der das Fortsetzen von Downloads nicht unterstützt (neuere FTP-Daemons unterstützen dies ohnehin schon seit mehr als einem Jahrzehnt) , das ist also nur eine kleine Chance). Wenn dies der Fall ist, haben Sie möglicherweise Pech. Andererseits sollten Sie keine Probleme haben, wenn das verwendete Protokoll http ist. (AKTUALISIERUNG: Anderen Experten zufolge (einschließlich Gilles in den Kommentaren unten) unterliegt die Fortsetzung der Verwendung von http auch der Serverunterstützung, sodass dies sowohl für ftp als auch für http gilt.)

Viel Glück.

Marcelo
quelle
5
HTTP-Downloads können nur fortgesetzt werden, wenn der Server dies unterstützt. Dies ist seltener als bei FTP-Servern.
Gilles 'SO- hör auf böse zu sein'
Vielen Dank, Gilles. Ich habe nur gute Erfahrungen mit der Wiederaufnahme von http gemacht, aber Sie haben wahrscheinlich recht und ich habe Glück. Wird meine Antwort aktualisieren.
Marcelo
wget -c http:...hat auf den 3 oder 4 servern funktioniert auf denen ich es ausprobiert habe.
Bob Stein
Gott segne dich, Mann!
Anfänger
3
@ Gilles: Tatsächlich ist dies jetzt eine übliche Option für statische Inhalte von Servern, die älter als ~ 2010 sind (mit anderen Worten, die meisten Server erlauben standardmäßig Bereichsanforderungen für statische Dateien). Bei dynamisch generierten Daten ist dies in der Tat selten.
Piskvor
0

Ich weiß, was die ursprüngliche Frage bedeutet, und die Antwort ist nicht wget -c ...

Das Szenario kann wie folgt beschrieben werden:

# Start mirroring a site
wget -m http://...
# 400MB later wget died or interrupted,
# don't know where it left off, don't care,
# just want to get the remaining 100MB without getting the first 400MB again
wget -nc -r -l inf --no-remove-listing http://...

Die Optionen "-r -l inf --no-remove-listing" entsprechen -m ohne den Parameter -N. Wenn Sie den Parameter -nc hinzufügen, vermeiden Sie das Speichern der ersten 400 MB, die sich bereits auf Ihrer Festplatte befinden.

Michael Chen
quelle