Xargs e Wget pára 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 fazer o download (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 por que isso está parado depois de uma hora?

    
por Jake 28.05.2011 / 11:39

2 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 que esse número e nenhuma nova instância está sendo gerada corretamente? Embora esteja sendo executado sob o cygwin, dê uma olhada na lista de processos no próprio windows, já que cada download do wget deve iniciar uma instância no gerenciador de tarefas.

    
por 30.05.2011 / 01:43
0

Eu suponho que as URLs são para sites diferentes. Nesse caso, você pode atingir sites que demoram a responder e que suspendem um dos seus objetivos. 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 truques pendentes e veja se ele está solto.

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

wget -T 60
    
por 30.05.2011 / 17:03

Tags