como fazer o wget tentar novamente o download se a velocidade ficar abaixo de determinado limite?

13

Estou tentando baixar um arquivo grande de 2 GB com o wget, mas depois de alguns minutos parece continuar parado.

I ^ C-lo, e wget novamente [com --continueopção], e ele começa a baixar novamente.

Existe uma maneira de automatizar a repetição do download quando ele parar de baixar? obrigado

Matt
fonte

Respostas:

20

Você poderia usar a --triesopção

   --tries=number
       Set number of retries to number.  Specify 0 or inf for infinite
       retrying.  The default is to retry 20 times, with the exception of
       fatal errors like "connection refused" or "not found" (404), which
       are not retried.

Então, --tries=0deve fazer o truque.

Isso combinado com --read-timeout=secondstambém. Os segundos referem-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.

Então, o comando final:

wget -c --tries=0 --read-timeout=20 [URL]

Pablo Zubieta
fonte
1
O problema é que o wget não desiste. Ele apenas mantém o "download" em 0 KB / s .. :(
Matt
8
Está bem. Provavelmente você poderia usar --read-timeout=seconds. 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. Obviamente, o servidor remoto pode optar por encerrar a conexão mais cedo do que essa opção exige. O tempo limite de leitura padrão é 900 segundos.
Pablo Zubieta 27/10
Sim! É isso! Eu devo ter lido isso há muito tempo quando li o manual do wget [a maioria / tudo] e voltei e não consegui encontrá-lo.
Matt
Isso não deve incluir --continuar também?
Sfyn
@sfyn: Sim, eu adicionei -cà resposta, portanto, se algo falhar, você pode retomar de onde parou. Obrigado.
Pablo Zubieta
0

O Wget tenta continuar o download 15 minutos após uma falha. Se você deixar durante a noite, deve funcionar.

Boris
fonte