Largo retraso antes de la descarga de Curl

Largo retraso antes de la descarga de Curl

Tengo un script bash que verifica si existe un archivo en un directorio web. Si el archivo no existe, simplemente se cierra. Si el archivo existe en el directorio web, lo descarga.

El script funciona correctamente, sin embargo, acabo de medir un tiempo de retraso de más de 5:00 minutos antes de que el script se activara realmente (Línea 4) después de cumplir con la condición "existe".

¿Me falta algo en este script que retrasa su ejecución?

Código de secuencia de comandos Bash:

url="http://website.url/directory/file.txt"

if curl -f ${url} >/dev/null 2>&1; then
  bash some_bash_script.sh
else
  exit 0
fi

Respuesta1

Terminé usando wget --spiderpara evitar el largo retraso de descarga con curl.

Script Bash modificado:

url="http://website.url/directory/file.txt"

if wget --spider ${url} >/dev/null 2>&1; then
  bash some_bash_script.sh
else
  exit 0
fi

Respuesta2

También puedes hacer algo como esto:

curl -s --head http://myurl/ | head -n 1 | grep "HTTP/1.[01] [23].." > /dev/null
# on success (page exists), $? will be 0; on failure (page does not exist or
# is unreachable), $? will be 1

Fuente:https://stackoverflow.com/questions/2924422/cómo-determino-si-existe-una-página-web-con-shell-scripting

if $?
; then
  bash somescript.sh
else
  exit 0
fi

crédito a @zneak

información relacionada