웹 디렉토리에 파일이 있는지 확인하는 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
if $?
; then
bash somescript.sh
else
exit 0
fi
@zneak에 대한 크레딧