Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # flip hess november 2011 [email protected]
- # nagios check mhasmo check uptime
- # Variables
- PATH='/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin'
- SCRIPT_PATH="${0}"
- DATE="$(date '+%Y%m%d-%H%M')"
- STATE_OK="0"
- STATE_WARNING="1"
- STATE_CRITICAL="2"
- STATE_UNKNOWN="3"
- KEY="/home/nagios/.ssh/id_dsa"
- # Functions:
- # The main function.
- function fCheck()
- {
- # check if arguments are valid:
- [ ! -z ${WARN} ] || { fShowUsage ; exit "${STATE_UNKNOWN}"; }
- [ ! -z ${CRIT} ] || { fShowUsage ; exit "${STATE_UNKNOWN}"; }
- # get info
- OUTPUT="$( uptime )"
- TIME="$(echo "${OUTPUT}" | awk '{print $4 }' | tr -d "," )"
- EMIT="$(echo "${OUTPUT}" | awk '{print $3 }')"
- # make results
- if echo "${UPTIME}"| awk '{print $4}' |tr -d "," |grep -q 'min' ; then
- if [ ${EMIT} -gt ${WARN} ]; then
- { echo -e "OKAY: Uptime of ${HOST} is more then ${WARN} minutes!\n${OUTPUT}" ; exit ${STATE_OK}; }
- elif [ ${EMIT} -lt ${WARN} ] && [ ${EMIT} -ge ${CRIT} ]; then
- { echo -e "WARNING: Uptime of ${HOST} is lower than ${CRIT} minutes!\n${OUTPUT}" ; exit ${STATE_WARNING}; }
- elif [ ${EMIT} -le ${CRIT} ] ; then
- { echo -e "CRITICAL: Uptime of ${HOST} is lower than ${CRIT} minutes!\n${OUTPUT}" ; exit ${STATE_CRITICAL}; }
- fi
- else
- { echo -e "OKAY: Uptime of ${HOST} is ${EMIT} ${TIME}\n${OUTPUT}" ; exit ${STATE_OK}; }
- fi
- }
- # The main function.
- function fMain()
- {
- #get options and set vars
- while getopts "w:c:v" OPTION ; do
- case ${OPTION} in
- w) WARN="${OPTARG}";;
- c) CRIT="${OPTARG}";;
- h) fShowUsage;;
- ?) fShowUsage;;
- esac
- done
- # trap de check af
- fCheck
- }
- # Shows usage.
- function fShowUsage()
- {
- echo "Usage: ${SCRIPT_PATH} [ -w WARNING ] [ -c CRITICAL ] [ -h ]"
- echo "Check Linux uptime over ssh - [email protected] 2011-12"
- return 0
- }
- # Start the program:
- fMain "${@}"
Advertisement
Add Comment
Please, Sign In to add comment