É provável que o site do qual você está fazendo download ou o seu ISP limita sua largura de banda depois de um tempo. Pode ajudar a limitar a taxa de transferência com --limit-rate
.
Existem algumas opções que dizem para salvar. Passe --tries
( -t
) para controlar o número de novas tentativas. Você pode obter melhores resultados se acelerar as tentativas com --wait
e talvez --wait-random
. O Wget será retomado automaticamente onde parou, se o servidor o suportar. Se a taxa de transferência for reduzida a um valor muito baixo, então --read-timeout
com um parâmetro muito pequeno, digamos 0.1
por um décimo de segundo, reiniciará a conexão se a taxa cair abaixo de um pacote por 0,1s. Observe que a conexão também será reiniciada se você não receber nenhum pacote durante esse período devido a uma falha de rede.
Se você souber com antecedência aproximadamente quanto tempo você tem antes de ser acelerado, escreva um snippet de shell que mata o processo de wget e o lança novamente com a opção -c
para continuar o download. Aviso, não testado; trabalhar com subprocessos de segundo plano no shell é um pouco complicado, então eu recomendo usar Perl ou Python para um trabalho sério.
while wget -q -c http://example.com/wibble & wget_pid=$!
{ sleep 300; kill $wget_pid; } & kill_pid=$!
wait $wget_pid
kill $kill_pid
wait
do sleep 10; done