Para evitar as --, -K/s
situações que você pode usar --read-timeout=seconds
. Isso excederá o tempo limite da conexão após a quantidade de segundos.
Se você precisar ir além, pode usar esta configuração
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0
Isso tentará novamente conexões recusadas e erros fatais semelhantes ( --retry-connrefused
), aguardará 1 segundo antes da próxima tentativa ( --waitretry
), aguardará no máximo 20 segundos caso nenhum dado seja recebido e tente novamente ( --read-timeout
), aguardará no máximo 15 segundos antes que a conexão inicial atinja o tempo limite ( --timeout
) e, por fim, tente novamente um número infinito de vezes ( -t 0
).
Você também pode colocar isso em um while
loop para evitar falhas na rede local e similares. Nesse caso, você também precisará adicionar --continue
para continuar o download de onde parou. O seguinte funciona bem no Bash
while [ 1 ]; do
wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 --continue
if [ $? = 0 ]; then break; fi; # check return value, break if successful (0)
sleep 1s;
done;
Como uma dica de bônus, você também pode usar se --no-dns-cache
o host equilibrar sua solicitação entre vários servidores pelo DNS.
Isenção de responsabilidade: eu não recomendo usá-lo, pois ele enviará spam ao host, caso a conexão seja instável e seja imprudente deixá-lo sem monitoramento. No entanto, é isso que você deseja, caso realmente precise fazer o download de algo e sua conexão não funcione adequadamente.
--read-timeout=900
. Você pode esperar 15 minutos e o wget reiniciará o download.--tries=number
Esta opção define o número de tentativas para número. Especifique 0 ou 'inf' para repetição infinita.
wget --tries=70 http://example.com/myfile.zip
deve fazê-lo.O padrão é tentar novamente 20 vezes, com exceção de erros fatais como "conexão recusada" ou "não encontrada" (404), que não são tentadas novamente.
fonte
Isso ajudaria? No askubuntu.com, encontrei uma pergunta muito semelhante à que você está fazendo. Aqui está o link para ele: /ubuntu/72663/how-to-make-wget-retry-download-if-speed-goes-below-WER-threshold
fonte