Como definir o tempo limite do wget após baixar mais do que uma duração fixa

Como definir o tempo limite do wget após baixar mais do que uma duração fixa

Quero que o wget (tente) iniciar o download e, se não for feito após 10 segundos, quero que ele desista.

wget --timeout 10 http://url

Parece uma tentativa razoável, mas parece que apenas define --dns-timeout, --connect-timeout e --read-timeout. Assim, ele poderia esperar 9 segundos pelo DNS, outros 9 pela conexão e continuar baixando para sempre, desde que os dados continuem chegando em um ritmo constante (sem pausa de mais de 10 segundos).

Responder1

Basicamente isso será algo como:

wget http://www.somesite.com/file.zip &
PID=$!
sleep 10
if [ `ps ax | grep $PID` -ne '' ]
   then
   kill $PID
fi

Responder2

Isso não éexatamenteo que você está perguntando só deve causar o tempo limite do Wget se o download ficar inativo por mais de 10 segundos:

wget --read-timeout= 10 http://url

Sobre a --read-timeoutopção, desde oManual do Wget 1.13.4:

Defina o tempo limite de leitura (e gravação) para segundos. O “tempo” deste timeout refere-se ao tempo ocioso: se, em algum momento do download, nenhum dado for recebido por mais do que o número especificado de segundos, a leitura falha e o download é reiniciado. Esta opção não afeta diretamente a duração de todo o download.

informação relacionada