Lange Verzögerung vor dem Curl-Download

Lange Verzögerung vor dem Curl-Download

Ich habe ein Bash-Skript, das prüft, ob eine Datei in einem Webverzeichnis vorhanden ist. Wenn die Datei nicht vorhanden ist, wird es einfach beendet. Wenn die Datei im Webverzeichnis vorhanden ist, wird sie heruntergeladen.

Das Skript funktioniert ordnungsgemäß. Ich habe jedoch gerade eine Verzögerung von über 5:00 Minuten gemessen, bevor das Skript nach Erfüllung der „existiert“-Bedingung tatsächlich ausgelöst wurde (Zeile 4).

Übersehe ich in diesem Skript etwas, das die Ausführung des Skripts verzögert?

Bash-Skriptcode:

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

Antwort1

wget --spiderUm die lange Download-Verzögerung zu umgehen, habe ich letztendlich verwendet curl.

Modifiziertes Bash-Skript:

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

Antwort2

Sie können auch Folgendes tun:

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

Quelle:https://stackoverflow.com/questions/2924422/wie-kann-ich-feststellen-ob-eine-webseite-existiert-mit-shell-scripting

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

Dank an @zneak

verwandte Informationen