368d6fafea
Code backup
74 lines
1.3 KiB
Bash
74 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# - State Variables
|
|
STATE_OK=0
|
|
STATE_WARN=1
|
|
STATE_CRIT=2
|
|
STATE_UNK=3
|
|
STATE=$STATE_OK
|
|
|
|
CURL_RETURN_CODE=0
|
|
|
|
Main(){
|
|
SITE="${PROTOCOL}://${URL}"
|
|
|
|
if [ ! -z $PORT ]; then
|
|
SITE+=":${PORT}"
|
|
fi
|
|
|
|
if [ ! -z $SUBDIRECTORY ]; then
|
|
SITE+="/${SUBDIRECTORY}"
|
|
fi
|
|
|
|
if [ -z $USR ]; then
|
|
CURL_OUTPUT="$(curl -s -k -w '\n%{http_code}' -m 100 --url $SITE | tail -n 1)"
|
|
else
|
|
CREDENTIAL="${USR}:${PSW}"
|
|
CURL_OUTPUT="$(curl -s -k -w '\n%{http_code}' -m 100 --ntlm --user $CREDENTIAL --url $SITE | tail -n 1)"
|
|
fi
|
|
|
|
if [ ${CURL_OUTPUT} -ne 200 ]; then
|
|
echo "Curl operation/command failed due to server return code - ${CURL_OUTPUT}"
|
|
STATE=$STATE_CRIT
|
|
else
|
|
echo "Connection success"
|
|
fi
|
|
}
|
|
|
|
while test -n "$1"; do
|
|
case "$1" in
|
|
|
|
--protocol | -p)
|
|
PROTOCOL=$2
|
|
shift ;;
|
|
|
|
--url | -u)
|
|
URL=$2
|
|
shift ;;
|
|
|
|
--user | -usr)
|
|
USR=$2
|
|
shift ;;
|
|
|
|
--password | -psw)
|
|
PSW=$2
|
|
shift;;
|
|
|
|
--port )
|
|
PORT=$2
|
|
shift;;
|
|
|
|
--subdirectory )
|
|
SUBDIRECTORY=$2
|
|
shift;;
|
|
|
|
*)
|
|
echo "Unknown argument: $1"
|
|
exit $STATE_UNK ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
Main
|
|
|
|
exit $STATE |