diff --git a/check_remote_websites.sh b/check_remote_websites.sh index a4e769d..f320f23 100755 --- a/check_remote_websites.sh +++ b/check_remote_websites.sh @@ -198,17 +198,29 @@ fi if [[ -n "$WEBSITES_TO_CHECK" ]] ; then for _site in $WEBSITES_TO_CHECK ; do echononl " Check site \033[1m$_site\033[m .." - response="$(curl --max-time $TIME_OUT --connect-timeout 30 \ - -I -k -L --write-out %{http_code} --silent --output /dev/null $_site 2> ${LOCK_DIR}/err.msg)" - if [[ "$response" -eq 200 ]]; then - echo_ok - else + + declare -i i=0 + _sucess=false + while [[ $i -lt 3 ]] ; do + response="$(curl --max-time $TIME_OUT --connect-timeout 30 \ + -I -k -L --write-out %{http_code} --silent --output /dev/null $_site 2> ${LOCK_DIR}/err.msg)" + if [[ "$response" -eq 200 ]]; then + echo_ok + _sucess=true + break + fi + sleep 2 + ((i++)) + done + + if ! $_success ; then echo_failed if [[ -s "$(cat ${LOCK_DIR}/err.msg)" ]] ; then error "$(cat ${LOCK_DIR}/err.msg)" fi websites_failed_arr+=("$_site") fi + done else warn "No Website to check given (empty var 'WEBSITES_TO_CHECK')"