28 lines
664 B
Bash
Executable File
28 lines
664 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
if [ $# -lt 1 ]; then
|
|
printf "First parameter URL required.\n"
|
|
exit 1
|
|
fi
|
|
|
|
COUNTER=0
|
|
STEP_SIZE=1
|
|
MAX_SECONDS=${2:-10} # Wait 10 seconds if parameter not provided
|
|
MAX_RETRIES=$(( $MAX_SECONDS / $STEP_SIZE))
|
|
|
|
URL=$1
|
|
|
|
printf "Waiting URL: "$URL"\n"
|
|
|
|
until $(curl --insecure --output /dev/null --silent --fail $URL) || [ $COUNTER -eq $MAX_RETRIES ]; do
|
|
printf '.'
|
|
sleep $STEP_SIZE
|
|
COUNTER=$(($COUNTER + 1))
|
|
done
|
|
if [ $COUNTER -eq $MAX_RETRIES ]; then
|
|
printf "\nTimeout after "$(( $COUNTER * $STEP_SIZE))" second(s).\n"
|
|
exit 2
|
|
else
|
|
printf "\nUp successfully after "$(( $COUNTER * $STEP_SIZE))" second(s).\n"
|
|
fi |