다운로드 전 컬링 긴 지연 [닫기]

다운로드 전 컬링 긴 지연 [닫기]

웹 디렉토리에 파일이 있는지 확인하는 bash 스크립트가 있습니다. 파일이 존재하지 않으면 종료됩니다. 파일이 웹 디렉터리에 있으면 다운로드됩니다.

그러나 스크립트는 잘 작동합니다. "존재" 조건이 충족된 후 실제로 스크립트(라인 4)를 트리거하기 전에 5분 이상의 지연이 측정되었습니다.

이 스크립트에서 스크립트 실행을 지연시키는 뭔가가 누락되었나요?

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

답변1

wget --spider결국 긴 다운로드 지연을 우회하기 위해 사용하게 되었습니다 curl.

수정된 Bash 스크립트:

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

답변2

다음과 같이 할 수도 있습니다.

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

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

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

@zneak에 대한 크레딧

관련 정보