Longo atraso antes do download do Curl

Longo atraso antes do download do Curl

Eu tenho um script bash que verifica se existe um arquivo em um diretório da web. Se o arquivo não existir, ele simplesmente será encerrado. Se o arquivo existir no diretório da web, ele será baixado.

O script funciona corretamente, no entanto, acabei de medir um tempo de atraso de 5:00 minutos ou mais antes que o script fosse realmente acionado (Linha 4) após atender à condição "existe".

Estou faltando alguma coisa neste script que está atrasando a execução do script?

Código de script 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

Responder1

Acabei usando wget --spiderpara contornar o longo atraso de download com arquivos 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

Responder2

Você também pode fazer algo assim:

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

Fonte:https://stackoverflow.com/questions/2924422/how-do-i-determine-if-a-web-page-exists-with-shell-scripting

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

crédito para @zneak

informação relacionada