Your IP : 18.191.44.145
#!/bin/bash
# Nagios script for LiteSpeed cache version check;
# Nagios status codes (Nagios expects one of these to be returned);
# OK = 0;
# WARNING = 1;
# CRITICAL = 2;
# UNKNOWN = 3;
function check_command_result() {
if [ $? -eq 0 ]; then
return
else
echo "CRITICAL: can't run command [${1}]"
exit 2
fi
}
VERBOSE=0
PROGNAME=${0##*/}
print_usage() {
echo ""
echo "Usage: ${PROGNAME} [-v be Verbose]"
echo "Usage: ${PROGNAME} -h | --help"
}
print_help() {
print_usage
echo ""
echo "This script checks latest version of LScache plugin"
echo ""
echo "-v be Verbose (should be last argument)"
echo "--help Print this help screen"
echo ""
exit 3
}
while [ $# -gt 0 ]; do
case "$1" in
--help)
print_help
exit 3
;;
-h)
print_help
exit 3
;;
-v)
VERBOSE=1; shift;shift
;;
*)
echo >&2 "Unknown argument: $1"
print_usage
exit 3
;;
esac
shift
done
#!/bin/bash
# Nagios script for LiteSpeed cache version check;
# Nagios status codes (Nagios expects one of these to be returned);
# OK = 0;
# WARNING = 1;
# CRITICAL = 2;
# UNKNOWN = 3;
function check_command_result() {
if [ $? -eq 0 ]; then
return
else
echo "CRITICAL: can't run command [${1}]"
exit 2
fi
}
VERBOSE=0
PROGNAME=${0##*/}
print_usage() {
echo ""
echo "Usage: ${PROGNAME} [-v be Verbose]"
echo "Usage: ${PROGNAME} -h | --help"
}
print_help() {
print_usage
echo ""
echo "This script checks latest version of LScache plugin"
echo ""
echo "-v be Verbose (should be last argument)"
echo "--help Print this help screen"
echo ""
exit 3
}
while [ $# -gt 0 ]; do
case "$1" in
--help)
print_help
exit 3
;;
-h)
print_help
exit 3
;;
-v)
VERBOSE=1; shift;shift
;;
*)
echo >&2 "Unknown argument: $1"
print_usage
exit 3
;;
esac
shift
done
# Get current LScache version;
CURRENT_VERSION=$(/usr/local/lsws/admin/misc/lscmctl setversion)
check_command_result "/usr/local/lsws/admin/misc/lscmctl"
# Get available latest LScache version;
AVAILABLE_VERSIONS=$(/usr/local/lsws/admin/misc/lscmctl setversion --list)
check_command_result "/usr/local/lsws/admin/misc/lscmctl"
# Get version from common current LScache string;
RESULT_CURRENT_VERSION=$(awk -F" " 'END{print $NF}' <<< ${CURRENT_VERSION})
check_command_result "awk"
# Get version from common all versions for LScache string;
RESULT_AVAILABLE_VERSION=$(echo "${AVAILABLE_VERSIONS}"| grep -oP '\d+\.\d+(\.\d+)*' | head -n 1)
check_command_result "awk"
# Delete waste point from result;
str_len=${#RESULT_CURRENT_VERSION}
if [ "${RESULT_CURRENT_VERSION:$((${str_len}-1)):1}" = "." ]
then
RESULT_CURRENT_VERSION=${RESULT_CURRENT_VERSION:0:$((${str_len}-1))}
fi
if [[ ${VERBOSE} == 1 ]]; then
echo -e "\n\t[VERBOSE INFORMATION, begin]\n"
echo "Current version, full string: [${CURRENT_VERSION}]"
echo "Available versions, full list: [${AVAILABLE_VERSIONS}]"
echo "Parsed current version string: [${RESULT_CURRENT_VERSION}]"
echo "Parsed all versions string: [${RESULT_AVAILABLE_VERSION}]"
echo -e "\n\t[ VERBOSE INFORMATION, end ]\n"
fi
# Final check;
if [[ "${RESULT_CURRENT_VERSION}" == "${RESULT_AVAILABLE_VERSION}" ]]; then
echo "OK: LScache plugin is updated: [${RESULT_AVAILABLE_VERSION}]"
exit 0
else
echo "CRITICAL: LScache plugin is outdated, latest version: [${RESULT_AVAILABLE_VERSION}]"
exit 2
fi