‘--timeout=seconds’
Set the network timeout to seconds seconds. This is equivalent to specifying ‘--dns-timeout’, ‘--connect-timeout’, and ‘--read-timeout’, all at the same time.
while true;do wget -T 15 -c "$URL" && break;done
Às vezes, o wget simplesmente fica no meio de um download:
50% [===================> ] 500,000 500KB/s eta 5m 5s
Acabei de fazer um wget --continue
para reiniciá-lo e parece funcionar por um tempo até que ele seja interrompido novamente.
Perguntando (a) se há uma maneira de lançar um erro neste caso, ou (b) para reiniciar automaticamente (talvez com algum script de quebra automática).
Além disso, se você souber de uma razão geral por que isso pode acontecer ou o que está acontecendo, seria interessante saber, mas não é necessário. Principalmente só quero saber como fazer isso reiniciar (ou pelo menos lançar um erro).
BTW por "hang" Quero dizer, ele apenas fica lá, nada muda no terminal, etc. Mas isso não parece estar causando vazamento de memória ou fazendo com que a CPU do meu computador seja ultrapassada, então está zumbindo e não há CPU esquerda. Em vez disso, fica lá e tenho que reiniciá-lo.
Eu também tentei isso, mas não faz nada:
wget --continue --tries=0 --read-timeout=10 http://domain.com/foo/bar.zip
Além disso, eu ainda posso estar executando vários outros wgets ao mesmo tempo em domínios não relacionados em diferentes janelas de terminal, então talvez seja o domínio que nunca está respondendo ou algo assim. Não tenho certeza do que fazer.
Tags wget