¿Cómo hacer que wget vuelva a intentar la descarga si la velocidad baja de cierto umbral?

13

Estoy tratando de descargar un archivo grande de 2GB con wget, pero después de unos minutos parece que se está estancando.

Lo utilizo y lo vuelvo a activar [con la --continueopción], y comienza a descargar nuevamente.

¿Hay alguna forma de automatizar el reintento de la descarga cuando se detiene? Gracias

Mate
fuente

Respuestas:

20

Podrías usar la --triesopción.

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

Entonces --tries=0debería hacer el truco.

Eso, combinado con --read-timeout=secondstambién. Los segundos se refieren al tiempo de inactividad: si, en cualquier momento de la descarga, no se reciben datos durante más de la cantidad de segundos especificada, la lectura falla y la descarga se reinicia.

Entonces el comando final:

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

Pablo Zubieta
fuente
1
El problema es que wget no se rinde. Simplemente sigue "descargando" a 0 KB / s .. :(
Matt
8
Okay. Probablemente podría usar --read-timeout=secondsen su lugar. El "tiempo" de este tiempo de espera se refiere al tiempo de inactividad: si, en cualquier momento de la descarga, no se reciben datos durante más de la cantidad especificada de segundos, la lectura falla y la descarga se reinicia. Esta opción no afecta directamente la duración de la descarga completa. Por supuesto, el servidor remoto puede optar por terminar la conexión antes de lo que requiere esta opción. El tiempo de espera de lectura predeterminado es de 900 segundos.
Pablo Zubieta
¡Si! ¡Eso es! Debo haber leído esto hace mucho tiempo cuando leí el manual de wget [la mayoría / todo], y regresé y no pude encontrarlo.
Matt
¿No debería incluir esto - continuar también?
sfyn
@sfyn: Sí, agregué -ca la respuesta, así que si algo falla, puede continuar donde lo dejó. Gracias.
Pablo Zubieta
0

Wget intenta continuar la descarga 15 minutos después de un error. Si lo dejas toda la noche, debería funcionar.

Boris
fuente