#!/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