Xargs e Wget param de funcionar depois de uma hora


8

Executando o script com o Cygwin no Windows XP com Dual Core e Ram de 4 GB

cat url_list.txt | xargs -P50 wget -i

Estou tentando percorrer 4 GB de URL para baixar (aproximadamente 43 milhões)

Funciona bem durante a primeira hora, depois o shell Bash e os downloads param mesmo que sejam apenas 2% através da lista de URLs.

Alguma idéia do que poderia estar errado?

Qual é a melhor maneira de depurar porque isso está parando depois de uma hora?

Respostas:


2

É possível que o wget esteja demorando para baixar alguns dos arquivos. Há algum processo wget / xargs na memória durante o período em que parece estar suspenso? Em caso afirmativo, são os 50 processos completos que você alocou com o sinalizador -P50 para xargs ou, de alguma forma, aumentaram esse número ou menos do que esse número e nenhuma nova instância está sendo gerada corretamente? Embora esteja sendo executado no cygwin, observe a lista de processos no próprio Windows, pois cada download do wget deve iniciar uma instância no gerenciador de tarefas.


0

Eu suponho que as URLs são para sites diferentes. Nesse caso, você pode acessar sites que demoram a responder e que interrompem um de seus alertas. Como você tem 50 em execução, precisará atingir 50 desses sites antes que nada aconteça.

Para ver se este é o caso, tente matar um dos pendentes e veja se ele está solto.

Para ignorar os URLs que são interrompidos, você pode conceder um tempo limite ao wget:

wget -T 60
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.