#!/bin/bash declare -i duration=1 declare hasUrl="" declare endpoint usage() { cat <&2 exit 1 ;; esac done shift $((OPTIND -1)) if [[ $1 ]]; then endpoint=$1 else echo "Please specify the endpoint." usage exit 1 fi healthcheck() { declare url=$1 result=$(curl --silent --location --head --output /dev/null --write-out "%{http_code}" "${url}") echo $result } while [[ true ]]; do result=`healthcheck ${endpoint}` declare status if [[ -z ${result} ]]; then status="N/A" else status=${result} fi timestamp=$(date "+%Y%m%d-%H%M%S") if [[ -z ${hasUrl} ]]; then echo "${timestamp} | ${status} " else echo "${timestamp} | ${status} | ${endpoint} " fi sleep ${duration} done