Xargs y Wget dejan de funcionar después de una hora


8

Ejecutar script con Cygwin en Windows XP con Dual Core y 4GB Ram

cat url_list.txt | xargs -P50 wget -i

Estoy tratando de rastrear 4GB de URL para descargar (aproximadamente 43 millones)

Funciona bien durante aproximadamente la primera hora, luego el shell Bash y las descargas se detienen aunque solo sea el 2% a través de la lista de URL.

¿Alguna idea de lo que podría estar mal?

¿Cuál es la mejor manera de depurar por qué esto se detiene después de una hora?

Respuestas:


2

Es posible que wget esté tomando tiempo para descargar algunos de los archivos. ¿Hay algún proceso wget / xargs en la memoria durante el período en que parece estar bloqueado? Si es así, ¿son los 50 procesos completos que asignó con el indicador -P50 a xargs, o se ha incrementado de alguna manera sobre ese número o menos que ese número y no se generan nuevas instancias correctamente? Aunque se está ejecutando en Cygwin, eche un vistazo a la lista de procesos en Windows, ya que cada descarga de wget debe iniciar una instancia en el administrador de tareas.


0

Supongo que las URL son para diferentes sitios. En ese caso, puede acceder a sitios que responden lentamente y que bloquean uno de sus wgets. Como tienes 50 en ejecución, tendrás que acceder a 50 de esos sitios antes de que no pase nada.

Para ver si este es el caso, intente matar a uno de los artilugios colgantes y ver si ese se desata.

Para omitir las URL que se bloquean, puede agotar el tiempo de espera de wget:

wget -T 60
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.