Wie kann ich den Download von wget wiederholen, wenn die Geschwindigkeit einen bestimmten Schwellenwert unterschreitet?

13

Ich versuche, eine große 2-GB-Datei mit wget herunterzuladen, aber nach ein paar Minuten scheint es nicht mehr zu laufen.

I ^ C it und wget es erneut [mit --continueOption], und es beginnt erneut mit dem Download.

Gibt es eine Möglichkeit, den erneuten Download zu automatisieren, wenn der Download gestoppt wird? Vielen Dank

Matt
quelle

Antworten:

20

Sie könnten die --triesOption verwenden.

   --tries=number
       Set number of retries to number.  Specify 0 or inf for infinite
       retrying.  The default is to retry 20 times, with the exception of
       fatal errors like "connection refused" or "not found" (404), which
       are not retried.

Sollte --tries=0also den Trick machen.

Das, kombiniert mit --read-timeout=secondsauch. Die Sekunden beziehen sich auf die Leerlaufzeit: Wenn zu einem beliebigen Zeitpunkt des Downloads mehr als die angegebene Anzahl von Sekunden lang keine Daten empfangen wurden, schlägt das Lesen fehl und der Download wird neu gestartet.

Also der letzte Befehl:

wget -c --tries=0 --read-timeout=20 [URL]

Pablo Zubieta
quelle
1
Das Problem ist, dass wget nicht beendet wird. Es "lädt" einfach weiter bei 0 KB / s .. :(
Matt
8
In Ordnung. Wahrscheinlich könntest du --read-timeout=secondsstattdessen verwenden. Die "Zeit" dieses Timeouts bezieht sich auf die Leerlaufzeit: Wenn zu einem beliebigen Zeitpunkt des Downloads mehr als die angegebene Anzahl von Sekunden lang keine Daten empfangen wurden, schlägt das Lesen fehl und der Download wird neu gestartet. Diese Option wirkt sich nicht direkt auf die Dauer des gesamten Downloads aus. Natürlich kann der Remote-Server die Verbindung früher beenden, als dies für diese Option erforderlich ist. Das Standard-Lesezeitlimit beträgt 900 Sekunden.
Pablo Zubieta
Ja! Das ist es! Ich muss das vor langer Zeit gelesen haben, als ich das wget-Handbuch gelesen habe, und ich bin zurückgegangen und konnte es nicht finden.
Matt
Sollte dies nicht auch --continue einschließen?
Sfyn
@sfyn: Ja, ich -chabe der Antwort etwas hinzugefügt. Wenn etwas fehlschlägt, können Sie dort weitermachen, wo Sie aufgehört haben. Vielen Dank.
Pablo Zubieta
0

Wget versucht 15 Minuten nach einem Fehler, den Download fortzusetzen. Wenn Sie es über Nacht verlassen, sollte es nur funktionieren.

Boris
quelle