jak sprawić, by wget ponownie spróbował pobrać, jeśli prędkość spadnie poniżej określonego progu?


13

Próbuję pobrać duży plik 2 GB za pomocą wget, ale po kilku minutach wydaje się, że nadal się przeciąga.

I ^ C go i wget go ponownie [z --continueopcją], i zaczyna się pobieranie ponownie.

Czy istnieje sposób na zautomatyzowanie ponawiania pobierania, gdy przestanie się ono pobierać? Dzięki

Odpowiedzi:


20

Możesz skorzystać z tej --triesopcji.

   --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.

Więc --tries=0powinien załatwić sprawę.

To w połączeniu z --read-timeout=seconds. Do sekund odnosi się do czasu bezczynności: jeżeli w dowolnym punkcie pobierania, żadne dane nie otrzymał więcej niż określona liczba sekund, czytanie i pobieranie nie zostanie ponownie uruchomiony.

Ostateczne polecenie:

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


1
Problem polega na tym, że wget się nie poddaje. Po prostu „pobiera” z prędkością 0 KB / s .. :(
Matt

8
Dobrze. Prawdopodobnie możesz --read-timeout=secondszamiast tego użyć . „Czas” tego limitu czasu odnosi się do czasu bezczynności: jeśli w dowolnym momencie pobierania dane nie zostaną odebrane przez więcej niż określoną liczbę sekund, odczyt nie powiedzie się, a pobieranie zostanie wznowione. Ta opcja nie wpływa bezpośrednio na czas trwania całego pobierania. Oczywiście zdalny serwer może zakończyć połączenie wcześniej, niż wymaga tego opcja. Domyślny limit czasu odczytu to 900 sekund.
Pablo Zubieta

Tak! To jest to! Musiałem to przeczytać już dawno temu, kiedy przeczytałem instrukcję wget [większość / całość], i wróciłem i nie mogłem jej znaleźć.
Matt

Czy nie powinno to obejmować również - kontynuować?
sfyn

@sfyn: Tak, dodałem -cdo odpowiedzi, więc jeśli coś się nie powiedzie, możesz zacząć od miejsca, w którym przerwałeś. Dzięki.
Pablo Zubieta

0

Wget próbuje kontynuować pobieranie 15 minut po awarii. Jeśli zostawisz to na noc, powinno po prostu działać.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.