límite inferior para la velocidad de descarga en wget

Intento download algunos files usando wget pero después de una hora, la velocidad de descarga disminuye. Y si cancelo la descarga y la reinicio, la velocidad de descarga boostá durante una hora.

¿Es posible poner un límite inferior para la velocidad de descarga en wget , de modo que cuando la velocidad sea inferior a ese umbral, wget reinicie o se reinicie?

Debería resolver el problema subyacente en su lugar. Analice por qué disminuye la velocidad de su connection y elimine la causa.

Si se trata de una function de ahorro de energía, es casi seguro que la apague o la configure de forma tal que su networking no se vea afectada.

Es probable que el sitio desde el que está descargando o su ISP acelere su ancho de banda después de un time. Puede ayudar a --limit-rate velocidad de transferencia con --limit-rate .

Hay algunas opciones que le dicen a wget que debe rescatar. Pase --tries ( -t ) para controlar el número de rebashs. Puede get mejores resultados si --wait un poco los --wait y --wait-random . Wget reanudará automáticamente donde se detuvo si el server lo admite. Si la velocidad de transferencia se networkinguce a una cifra muy baja, entonces --read-timeout con un parámetro muy pequeño, digamos 0.1 por una décima de segundo, reiniciará la connection si la tasa cae por debajo de un package por 0.1s. Tenga en count que la connection también se reiniciará si no recibe ningún package durante ese período de time debido a un problema de networking.

Si sabe de antemano aproximadamente cuánto time tiene antes de ser acelerado, escriba un fragment de shell que elimine el process de wget y lo inicie de nuevo con la opción -c para reanudar la descarga. Advertencia, no probado; trabajar con subprocesss de background en el shell es un poco inestable, por lo que recomiendo usar Perl o Python para un trabajo serio.

 while wget -q -c http://example.com/wibble & wget_pid=$! { sleep 300; kill $wget_pid; } & kill_pid=$! wait $wget_pid kill $kill_pid wait do sleep 10; done 

Mi versión de wget admite volver a intentar después de un time de espera sin descarga usando el time de espera de read-timeout como este …

 $ wget -c --read-timeout=5 http://thefile.com/getme.txt 36% [+++++++++++++++++++++++++++++++++++++++++++======> ] 280,061,984 --.-K/s in 6m 16s 2012-05-09 16:04:23 (105 KB/s) - Read error at byte 280061984/761323675 (Operation timed out). Retrying. 

Parece que no hay forma de establecer el límite inferior, pero me persiguió mucho en las descargas continuas, y espero que otras personas busquen este tema.