Como definir o tempo limite do wget após o download por mais de uma duração fixa


5

Quero que o wget (tente) iniciar o download e, se não for feito após 10 segundos, quero que 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 pode esperar 9 segundos para o DNS, outros 9 para conectar e continuar baixando para sempre, desde que os dados continuem em ritmo constante (sem pausa de mais de 10 segundos).

Respostas:


1

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

Essa é uma maneira de resolvê-lo, por mais feio que seja.
Johv

0

Isso não é exatamente o que você está perguntando, pois isso só fará com que o Wget atinja o tempo limite se o download ficar inativo por mais de 10 segundos:

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

Sobre a --read-timeoutopção, no Manual do Wget 1.13.4 :

Defina o tempo limite de leitura (e gravação) para segundos segundos. O "tempo" desse tempo limite refere-se ao tempo ocioso: se, em qualquer ponto do download, nenhum dado for recebido por mais do que o número especificado de segundos, a leitura falhará e o download será reiniciado. Esta opção não afeta diretamente a duração de todo o download.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.