Fixed (linter) issues
This commit is contained in:
parent
1249e2ccd6
commit
f27d7aa07b
@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
# define the version (YYYY-MM-DD)
|
# define the version (YYYY-MM-DD)
|
||||||
typeset -r SCRIPT_VERSION="2018-07-12"
|
typeset -r SCRIPT_VERSION="2018-10-28"
|
||||||
# location of parent directory containing KSH functions/HC plugins
|
# location of parent directory containing KSH functions/HC plugins
|
||||||
typeset -r FPATH_PARENT="/opt/hc/lib"
|
typeset -r FPATH_PARENT="/opt/hc/lib"
|
||||||
# location of custom HC configuration files
|
# location of custom HC configuration files
|
||||||
@ -54,13 +54,18 @@ typeset -r EXEC_USER="root"
|
|||||||
# read-only settings (but should not be changed)
|
# read-only settings (but should not be changed)
|
||||||
typeset -r SCRIPT_NAME="$(basename $0)"
|
typeset -r SCRIPT_NAME="$(basename $0)"
|
||||||
typeset -r SCRIPT_DIR="$(dirname $0)"
|
typeset -r SCRIPT_DIR="$(dirname $0)"
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset -r HOST_NAME="$(hostname)"
|
typeset -r HOST_NAME="$(hostname)"
|
||||||
typeset -r OS_NAME="$(uname -s)"
|
typeset -r OS_NAME="$(uname -s)"
|
||||||
typeset -r LOCK_DIR="${TMP_DIR}/.${SCRIPT_NAME}.lock"
|
typeset -r LOCK_DIR="${TMP_DIR}/.${SCRIPT_NAME}.lock"
|
||||||
typeset -r HC_MSG_FILE="${TMP_DIR}/.${SCRIPT_NAME}.hc.msg.$$" # plugin messages files
|
typeset -r HC_MSG_FILE="${TMP_DIR}/.${SCRIPT_NAME}.hc.msg.$$" # plugin messages files
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset -r LOG_SEP="|" # single character only
|
typeset -r LOG_SEP="|" # single character only
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset -r MSG_SEP="%" # single character only
|
typeset -r MSG_SEP="%" # single character only
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset -t NUM_LOG_FIELDS=6 # current number of fields in $HC_LOG + 1
|
typeset -t NUM_LOG_FIELDS=6 # current number of fields in $HC_LOG + 1
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset -r MAGIC_QUOTE="!_!" # magic quote
|
typeset -r MAGIC_QUOTE="!_!" # magic quote
|
||||||
typeset -r LOG_DIR="/var/opt/hc"
|
typeset -r LOG_DIR="/var/opt/hc"
|
||||||
typeset -r LOG_FILE="${LOG_DIR}/${SCRIPT_NAME}.log"
|
typeset -r LOG_FILE="${LOG_DIR}/${SCRIPT_NAME}.log"
|
||||||
@ -74,28 +79,35 @@ typeset PATH=${PATH}:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
|
|||||||
typeset CMD_LINE=""
|
typeset CMD_LINE=""
|
||||||
typeset CMD_PARAMETER=""
|
typeset CMD_PARAMETER=""
|
||||||
typeset CHILD_ERROR=0
|
typeset CHILD_ERROR=0
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset DIR_PREFIX="$(date '+%Y-%m')"
|
typeset DIR_PREFIX="$(date '+%Y-%m')"
|
||||||
typeset EXIT_CODE=0
|
typeset EXIT_CODE=0
|
||||||
typeset FDIR=""
|
typeset FDIR=""
|
||||||
typeset FFILE=""
|
typeset FFILE=""
|
||||||
typeset FPATH=""
|
typeset FPATH=""
|
||||||
typeset HC_FAIL_ID=""
|
typeset HC_FAIL_ID=""
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset HC_FILE_LINE=""
|
typeset HC_FILE_LINE=""
|
||||||
typeset HC_NOW=""
|
typeset HC_NOW=""
|
||||||
typeset HC_TIME_OUT=60
|
typeset HC_TIME_OUT=60
|
||||||
typeset HC_MIN_TIME_OUT=30
|
typeset HC_MIN_TIME_OUT=30
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset HC_MSG_VAR=""
|
typeset HC_MSG_VAR=""
|
||||||
typeset HC_STDOUT_LOG=""
|
typeset HC_STDOUT_LOG=""
|
||||||
typeset HC_STDERR_LOG=""
|
typeset HC_STDERR_LOG=""
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset LINUX_DISTRO=""
|
typeset LINUX_DISTRO=""
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset LINUX_RELEASE=""
|
typeset LINUX_RELEASE=""
|
||||||
typeset ARCHIVE_RC=0
|
typeset ARCHIVE_RC=0
|
||||||
typeset DISABLE_RC=0
|
typeset DISABLE_RC=0
|
||||||
typeset ENABLE_RC=0
|
typeset ENABLE_RC=0
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset FIX_FC=0
|
typeset FIX_FC=0
|
||||||
typeset RUN_RC=0
|
typeset RUN_RC=0
|
||||||
typeset RUN_CONFIG_FILE=""
|
typeset RUN_CONFIG_FILE=""
|
||||||
typeset RUN_TIME_OUT=0
|
typeset RUN_TIME_OUT=0
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset SORT_CMD=""
|
typeset SORT_CMD=""
|
||||||
typeset DEBUG_OPTS=""
|
typeset DEBUG_OPTS=""
|
||||||
# command-line parameters
|
# command-line parameters
|
||||||
@ -217,7 +229,7 @@ function check_core
|
|||||||
# check and include core helper libs
|
# check and include core helper libs
|
||||||
if [[ -r ${FPATH_PARENT}/core/include_core.sh && -h ${FPATH_PARENT}/core/include_core ]]
|
if [[ -r ${FPATH_PARENT}/core/include_core.sh && -h ${FPATH_PARENT}/core/include_core ]]
|
||||||
then
|
then
|
||||||
# source /opt/hc/lib/core/include_core.sh
|
# shellcheck source=/opt/hc/lib/core/include_core.sh
|
||||||
. ${FPATH_PARENT}/core/include_core.sh
|
. ${FPATH_PARENT}/core/include_core.sh
|
||||||
else
|
else
|
||||||
print -u2 "ERROR: library file ${FPATH_PARENT}/core/include_core.sh is not present (tip: run --fix-symlinks)"
|
print -u2 "ERROR: library file ${FPATH_PARENT}/core/include_core.sh is not present (tip: run --fix-symlinks)"
|
||||||
@ -225,7 +237,7 @@ else
|
|||||||
fi
|
fi
|
||||||
if [[ -r ${FPATH_PARENT}/core/include_data.sh && -h ${FPATH_PARENT}/core/include_data ]]
|
if [[ -r ${FPATH_PARENT}/core/include_data.sh && -h ${FPATH_PARENT}/core/include_data ]]
|
||||||
then
|
then
|
||||||
# source /opt/hc/lib/core/include_data.sh
|
# shellcheck source=/opt/hc/lib/core/include_data.sh
|
||||||
. ${FPATH_PARENT}/core/include_data.sh
|
. ${FPATH_PARENT}/core/include_data.sh
|
||||||
else
|
else
|
||||||
print -u2 "ERROR: library file ${FPATH_PARENT}/core/include_data.sh is not present (tip: run --fix-symlinks)"
|
print -u2 "ERROR: library file ${FPATH_PARENT}/core/include_data.sh is not present (tip: run --fix-symlinks)"
|
||||||
@ -233,7 +245,7 @@ else
|
|||||||
fi
|
fi
|
||||||
if [[ -r ${FPATH_PARENT}/core/include_os.sh && -h ${FPATH_PARENT}/core/include_os ]]
|
if [[ -r ${FPATH_PARENT}/core/include_os.sh && -h ${FPATH_PARENT}/core/include_os ]]
|
||||||
then
|
then
|
||||||
# source /opt/hc/lib/core/include_os.sh
|
# shellcheck source=/opt/hc/lib/core/include_os.sh
|
||||||
. ${FPATH_PARENT}/core/include_os.sh
|
. ${FPATH_PARENT}/core/include_os.sh
|
||||||
else
|
else
|
||||||
print -u2 "ERROR: library file ${FPATH_PARENT}/core/include_os.sh is not present (tip: run --fix-symlinks)"
|
print -u2 "ERROR: library file ${FPATH_PARENT}/core/include_os.sh is not present (tip: run --fix-symlinks)"
|
||||||
@ -468,6 +480,7 @@ function check_user
|
|||||||
typeset WHOAMI=""
|
typeset WHOAMI=""
|
||||||
|
|
||||||
# avoid sub-shell for mksh/pdksh
|
# avoid sub-shell for mksh/pdksh
|
||||||
|
# shellcheck disable=SC2046
|
||||||
WHOAMI=$(IFS='()'; set -- $(id); print $2)
|
WHOAMI=$(IFS='()'; set -- $(id); print $2)
|
||||||
if [[ "${WHOAMI}" != "${EXEC_USER}" ]]
|
if [[ "${WHOAMI}" != "${EXEC_USER}" ]]
|
||||||
then
|
then
|
||||||
@ -493,6 +506,7 @@ case "${KSH_VERSION}" in
|
|||||||
*)
|
*)
|
||||||
if [[ -z "${ERRNO}" ]]
|
if [[ -z "${ERRNO}" ]]
|
||||||
then
|
then
|
||||||
|
# shellcheck disable=SC2154
|
||||||
(( ARG_DEBUG != 0 )) && print "running ksh: ${.sh.version}"
|
(( ARG_DEBUG != 0 )) && print "running ksh: ${.sh.version}"
|
||||||
else
|
else
|
||||||
(( ARG_DEBUG != 0 )) && print "running ksh: ksh88 or older"
|
(( ARG_DEBUG != 0 )) && print "running ksh: ksh88 or older"
|
||||||
@ -648,6 +662,7 @@ done
|
|||||||
print "${FPATH}" | tr ':' '\n' | while read -r FDIR
|
print "${FPATH}" | tr ':' '\n' | while read -r FDIR
|
||||||
do
|
do
|
||||||
# do not use 'find -type l' here!
|
# do not use 'find -type l' here!
|
||||||
|
# shellcheck disable=SC2010
|
||||||
ls ${FDIR} 2>/dev/null | grep -v "\." | while read -r FSYML
|
ls ${FDIR} 2>/dev/null | grep -v "\." | while read -r FSYML
|
||||||
do
|
do
|
||||||
# check if file is a dead symlink
|
# check if file is a dead symlink
|
||||||
@ -672,7 +687,6 @@ return 0
|
|||||||
function read_config
|
function read_config
|
||||||
{
|
{
|
||||||
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
||||||
typeset SMS_CONFIG_FILE=""
|
|
||||||
|
|
||||||
if [[ -z "${CONFIG_FILE}" ]] || [[ -z "${CONFIG_FILE}" ]]
|
if [[ -z "${CONFIG_FILE}" ]] || [[ -z "${CONFIG_FILE}" ]]
|
||||||
then
|
then
|
||||||
@ -682,6 +696,7 @@ if [[ ! -r "${CONFIG_FILE}" ]]
|
|||||||
then
|
then
|
||||||
die "unable to read configuration file at ${CONFIG_FILE}"
|
die "unable to read configuration file at ${CONFIG_FILE}"
|
||||||
else
|
else
|
||||||
|
# shellcheck source=/dev/null
|
||||||
. "${CONFIG_FILE}"
|
. "${CONFIG_FILE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -741,6 +756,7 @@ do
|
|||||||
ARG_DEBUG_LEVEL="${CMD_PARAMETER#--debug-level=}"
|
ARG_DEBUG_LEVEL="${CMD_PARAMETER#--debug-level=}"
|
||||||
;;
|
;;
|
||||||
-detail|--detail)
|
-detail|--detail)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_DETAIL=1
|
ARG_DETAIL=1
|
||||||
;;
|
;;
|
||||||
-d|-disable|--disable)
|
-d|-disable|--disable)
|
||||||
@ -769,6 +785,7 @@ do
|
|||||||
ARG_DISPLAY="${CMD_PARAMETER#-display=}"
|
ARG_DISPLAY="${CMD_PARAMETER#-display=}"
|
||||||
;;
|
;;
|
||||||
--display=*)
|
--display=*)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_DISPLAY="${CMD_PARAMETER#--display=}"
|
ARG_DISPLAY="${CMD_PARAMETER#--display=}"
|
||||||
;;
|
;;
|
||||||
-e|-enable|--enable)
|
-e|-enable|--enable)
|
||||||
@ -824,15 +841,19 @@ do
|
|||||||
ARG_HC_ARGS="${CMD_PARAMETER#--hc-args=}"
|
ARG_HC_ARGS="${CMD_PARAMETER#--hc-args=}"
|
||||||
;;
|
;;
|
||||||
-with-history|--with-history)
|
-with-history|--with-history)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_HISTORY=1
|
ARG_HISTORY=1
|
||||||
;;
|
;;
|
||||||
-id=*)
|
-id=*)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_FAIL_ID="${CMD_PARAMETER#-id=}"
|
ARG_FAIL_ID="${CMD_PARAMETER#-id=}"
|
||||||
;;
|
;;
|
||||||
--id=*)
|
--id=*)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_FAIL_ID="${CMD_PARAMETER#--id=}"
|
ARG_FAIL_ID="${CMD_PARAMETER#--id=}"
|
||||||
;;
|
;;
|
||||||
-last|--last)
|
-last|--last)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_LAST=1
|
ARG_LAST=1
|
||||||
;;
|
;;
|
||||||
-list|--list)
|
-list|--list)
|
||||||
@ -885,12 +906,14 @@ do
|
|||||||
ARG_MAIL_TO="${CMD_PARAMETER#-mail-to=}"
|
ARG_MAIL_TO="${CMD_PARAMETER#-mail-to=}"
|
||||||
;;
|
;;
|
||||||
--mail-to=*)
|
--mail-to=*)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_MAIL_TO="${CMD_PARAMETER#--mail-to=}"
|
ARG_MAIL_TO="${CMD_PARAMETER#--mail-to=}"
|
||||||
;;
|
;;
|
||||||
-notify=*)
|
-notify=*)
|
||||||
ARG_NOTIFY="${CMD_PARAMETER#-notify=}"
|
ARG_NOTIFY="${CMD_PARAMETER#-notify=}"
|
||||||
;;
|
;;
|
||||||
--notify=*)
|
--notify=*)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_NOTIFY="${CMD_PARAMETER#--notify=}"
|
ARG_NOTIFY="${CMD_PARAMETER#--notify=}"
|
||||||
;;
|
;;
|
||||||
-no-log|--no-log)
|
-no-log|--no-log)
|
||||||
@ -933,10 +956,12 @@ do
|
|||||||
else
|
else
|
||||||
ARG_ACTION=8
|
ARG_ACTION=8
|
||||||
fi
|
fi
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_REPORT="${CMD_PARAMETER#--report=}"
|
ARG_REPORT="${CMD_PARAMETER#--report=}"
|
||||||
ARG_LOG=0; ARG_VERBOSE=0
|
ARG_LOG=0; ARG_VERBOSE=0
|
||||||
;;
|
;;
|
||||||
-reverse|--reverse)
|
-reverse|--reverse)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_REVERSE=1
|
ARG_REVERSE=1
|
||||||
;;
|
;;
|
||||||
-r|-run|--run)
|
-r|-run|--run)
|
||||||
@ -956,7 +981,9 @@ do
|
|||||||
else
|
else
|
||||||
ARG_ACTION=5
|
ARG_ACTION=5
|
||||||
fi
|
fi
|
||||||
ARG_LOG=0; ARG_VERBOSE=0
|
ARG_LOG=0
|
||||||
|
# shellcheck disable=SC2034
|
||||||
|
ARG_VERBOSE=0
|
||||||
;;
|
;;
|
||||||
-show-stats|--show-stats)
|
-show-stats|--show-stats)
|
||||||
if (( ARG_ACTION > 0 ))
|
if (( ARG_ACTION > 0 ))
|
||||||
@ -971,12 +998,14 @@ do
|
|||||||
ARG_SMS_PROVIDER="${CMD_PARAMETER#-sms-provider=}"
|
ARG_SMS_PROVIDER="${CMD_PARAMETER#-sms-provider=}"
|
||||||
;;
|
;;
|
||||||
--sms-provider=*)
|
--sms-provider=*)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_SMS_PROVIDER="${CMD_PARAMETER#--sms-provider=}"
|
ARG_SMS_PROVIDER="${CMD_PARAMETER#--sms-provider=}"
|
||||||
;;
|
;;
|
||||||
-sms-to=*)
|
-sms-to=*)
|
||||||
ARG_SMS_TO="${CMD_PARAMETER#-sms-to=}"
|
ARG_SMS_TO="${CMD_PARAMETER#-sms-to=}"
|
||||||
;;
|
;;
|
||||||
--sms-to=*)
|
--sms-to=*)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_SMS_TO="${CMD_PARAMETER#--sms-to=}"
|
ARG_SMS_TO="${CMD_PARAMETER#--sms-to=}"
|
||||||
;;
|
;;
|
||||||
-timeout=*)
|
-timeout=*)
|
||||||
@ -986,6 +1015,7 @@ do
|
|||||||
ARG_TIME_OUT="${CMD_PARAMETER#--timeout=}"
|
ARG_TIME_OUT="${CMD_PARAMETER#--timeout=}"
|
||||||
;;
|
;;
|
||||||
-today|--today)
|
-today|--today)
|
||||||
|
# shellcheck disable=SC2034
|
||||||
ARG_TODAY=1
|
ARG_TODAY=1
|
||||||
;;
|
;;
|
||||||
-v|-version|--version)
|
-v|-version|--version)
|
||||||
@ -1047,6 +1077,7 @@ log "*** start of ${SCRIPT_NAME} [${CMD_LINE}] ***"
|
|||||||
(( ARG_ACTION == 4 || ARG_ACTION == 11 || ARG_ACTION == 12 )) && check_lock_dir
|
(( ARG_ACTION == 4 || ARG_ACTION == 11 || ARG_ACTION == 12 )) && check_lock_dir
|
||||||
|
|
||||||
# general HC log
|
# general HC log
|
||||||
|
# shellcheck disable=SC2034
|
||||||
HC_LOG="${LOG_DIR}/hc.log"
|
HC_LOG="${LOG_DIR}/hc.log"
|
||||||
|
|
||||||
# get linux stuff
|
# get linux stuff
|
||||||
@ -1152,7 +1183,9 @@ case ${ARG_ACTION} in
|
|||||||
# set & initialize STDOUT/STDERR locations (not in init_hc()!)
|
# set & initialize STDOUT/STDERR locations (not in init_hc()!)
|
||||||
HC_STDOUT_LOG="${TMP_DIR}/${HC_RUN}.stdout.log.$$"
|
HC_STDOUT_LOG="${TMP_DIR}/${HC_RUN}.stdout.log.$$"
|
||||||
HC_STDERR_LOG="${TMP_DIR}/${HC_RUN}.stderr.log.$$"
|
HC_STDERR_LOG="${TMP_DIR}/${HC_RUN}.stderr.log.$$"
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${HC_STDOUT_LOG} 2>/dev/null
|
>${HC_STDOUT_LOG} 2>/dev/null
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${HC_STDERR_LOG} 2>/dev/null
|
>${HC_STDERR_LOG} 2>/dev/null
|
||||||
|
|
||||||
# --check-host handling: alternative configuration file, mangle ARG_CONFIG_FILE & HC_TIME_OUT
|
# --check-host handling: alternative configuration file, mangle ARG_CONFIG_FILE & HC_TIME_OUT
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
function display_csv
|
function display_csv
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
typeset _DISPLAY_SEP=";"
|
typeset _DISPLAY_SEP=";"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -42,7 +42,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _DISPLAY_HC="$1"
|
typeset _DISPLAY_HC="$1"
|
||||||
typeset _DISPLAY_FAIL_ID="$2"
|
typeset _DISPLAY_FAIL_ID="$2"
|
||||||
|
|
||||||
typeset _HC_MSG_ENTRY=""
|
|
||||||
typeset _DISPLAY_MSG_STC=""
|
typeset _DISPLAY_MSG_STC=""
|
||||||
typeset _DISPLAY_MSG_TIME=""
|
typeset _DISPLAY_MSG_TIME=""
|
||||||
typeset _DISPLAY_MSG_TEXT=""
|
typeset _DISPLAY_MSG_TEXT=""
|
||||||
@ -56,6 +55,7 @@ then
|
|||||||
printf "%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s\n" "Health Check" "STC" "Message" "FAIL ID" \
|
printf "%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s${_DISPLAY_SEP}%s\n" "Health Check" "STC" "Message" "FAIL ID" \
|
||||||
"Current Value" "Expected Value"
|
"Current Value" "Expected Value"
|
||||||
|
|
||||||
|
# shellcheck disable=SC2034
|
||||||
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _DISPLAY_MSG_STC _DISPLAY_MSG_TIME _DISPLAY_MSG_TEXT _DISPLAY_MSG_CUR_VAL _DISPLAY_MSG_EXP_VAL
|
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _DISPLAY_MSG_STC _DISPLAY_MSG_TIME _DISPLAY_MSG_TEXT _DISPLAY_MSG_CUR_VAL _DISPLAY_MSG_EXP_VAL
|
||||||
do
|
do
|
||||||
# magically unquote if needed
|
# magically unquote if needed
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
function display_init
|
function display_init
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2018-05-14" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -59,7 +59,6 @@ then
|
|||||||
typeset _BLUE=$(tput setaf 4)
|
typeset _BLUE=$(tput setaf 4)
|
||||||
typeset _MAGENTA=$(tput setaf 5)
|
typeset _MAGENTA=$(tput setaf 5)
|
||||||
typeset _CYAN=$(tput setaf 6)
|
typeset _CYAN=$(tput setaf 6)
|
||||||
typeset _WHITE=$(tput setaf 7)
|
|
||||||
typeset _BOLD=$(tput bold)
|
typeset _BOLD=$(tput bold)
|
||||||
typeset _NORMAL=$(tput sgr0)
|
typeset _NORMAL=$(tput sgr0)
|
||||||
else
|
else
|
||||||
@ -69,7 +68,6 @@ else
|
|||||||
typeset _BLUE=""
|
typeset _BLUE=""
|
||||||
typeset _MAGENTA=""
|
typeset _MAGENTA=""
|
||||||
typeset _CYAN=""
|
typeset _CYAN=""
|
||||||
typeset _WHITE=""
|
|
||||||
typeset _BOLD=""
|
typeset _BOLD=""
|
||||||
typeset _NORMAL=""
|
typeset _NORMAL=""
|
||||||
fi
|
fi
|
||||||
@ -98,7 +96,7 @@ else
|
|||||||
print "${HC_MSG_VAR}" | while read _HC_MSG_ENTRY
|
print "${HC_MSG_VAR}" | while read _HC_MSG_ENTRY
|
||||||
do
|
do
|
||||||
# determine _DISPLAY_MSG_STC (sum of all STCs)
|
# determine _DISPLAY_MSG_STC (sum of all STCs)
|
||||||
_DISPLAY_MSG_STC=$(print "${HC_MSG_VAR}" | awk -F"${MSG_SEP}" 'BEGIN { stc = 0 } { for (i=1;i<=NF;i++) { stc = stc + $1 } } END { print stc }' 2>/dev/null)
|
_DISPLAY_MSG_STC=$(print "${_HC_MSG_ENTRY}" | awk -F"${MSG_SEP}" 'BEGIN { stc = 0 } { for (i=1;i<=NF;i++) { stc = stc + $1 } } END { print stc }' 2>/dev/null)
|
||||||
done
|
done
|
||||||
|
|
||||||
# display HC results
|
# display HC results
|
||||||
|
@ -30,9 +30,8 @@
|
|||||||
function display_json
|
function display_json
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
typeset _DISPLAY_SEP=";"
|
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
# set defaults
|
# set defaults
|
||||||
@ -42,7 +41,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _DISPLAY_HC="$1"
|
typeset _DISPLAY_HC="$1"
|
||||||
typeset _DISPLAY_FAIL_ID="$2"
|
typeset _DISPLAY_FAIL_ID="$2"
|
||||||
|
|
||||||
typeset _HC_MSG_ENTRY=""
|
|
||||||
typeset _DISPLAY_MSG_STC=""
|
typeset _DISPLAY_MSG_STC=""
|
||||||
typeset _DISPLAY_MSG_TIME=""
|
typeset _DISPLAY_MSG_TIME=""
|
||||||
typeset _DISPLAY_MSG_TEXT=""
|
typeset _DISPLAY_MSG_TEXT=""
|
||||||
|
@ -41,7 +41,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _DISPLAY_HC="$1"
|
typeset _DISPLAY_HC="$1"
|
||||||
typeset _DISPLAY_FAIL_ID="$2"
|
typeset _DISPLAY_FAIL_ID="$2"
|
||||||
|
|
||||||
typeset _HC_MSG_ENTRY=""
|
|
||||||
typeset _DISPLAY_MSG_STC=""
|
typeset _DISPLAY_MSG_STC=""
|
||||||
typeset _DISPLAY_MSG_TIME=""
|
typeset _DISPLAY_MSG_TIME=""
|
||||||
typeset _DISPLAY_MSG_TEXT=""
|
typeset _DISPLAY_MSG_TEXT=""
|
||||||
@ -54,6 +53,7 @@ if [[ -n "${HC_MSG_VAR}" ]]
|
|||||||
then
|
then
|
||||||
printf "%-30s\t%s\t%-16s\t%s\n" "HC" "STC" "FAIL ID" "Message"
|
printf "%-30s\t%s\t%-16s\t%s\n" "HC" "STC" "FAIL ID" "Message"
|
||||||
|
|
||||||
|
# shellcheck disable=SC2034
|
||||||
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _DISPLAY_MSG_STC _DISPLAY_MSG_TIME _DISPLAY_MSG_TEXT _DISPLAY_MSG_CUR_VAL _DISPLAY_MSG_EXP_VAL
|
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _DISPLAY_MSG_STC _DISPLAY_MSG_TIME _DISPLAY_MSG_TEXT _DISPLAY_MSG_CUR_VAL _DISPLAY_MSG_EXP_VAL
|
||||||
do
|
do
|
||||||
# magically unquote if needed
|
# magically unquote if needed
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
function display_zenoss
|
function display_zenoss
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -43,7 +43,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _DISPLAY_HC="$1"
|
typeset _DISPLAY_HC="$1"
|
||||||
typeset _DISPLAY_FAIL_ID="$2"
|
typeset _DISPLAY_FAIL_ID="$2"
|
||||||
|
|
||||||
typeset _HC_MSG_ENTRY=""
|
|
||||||
typeset _DISPLAY_MSG_STC=""
|
typeset _DISPLAY_MSG_STC=""
|
||||||
typeset _DISPLAY_MSG_TIME=""
|
typeset _DISPLAY_MSG_TIME=""
|
||||||
typeset _DISPLAY_MSG_TEXT=""
|
typeset _DISPLAY_MSG_TEXT=""
|
||||||
@ -53,6 +52,7 @@ typeset _DISPLAY_MSG_EXP_VAL=""
|
|||||||
# parse $HC_MSG_VAR
|
# parse $HC_MSG_VAR
|
||||||
if [[ -n "${HC_MSG_VAR}" ]]
|
if [[ -n "${HC_MSG_VAR}" ]]
|
||||||
then
|
then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _DISPLAY_MSG_STC _DISPLAY_MSG_TIME _DISPLAY_MSG_TEXT _DISPLAY_MSG_CUR_VAL _DISPLAY_MSG_EXP_VAL
|
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _DISPLAY_MSG_STC _DISPLAY_MSG_TIME _DISPLAY_MSG_TEXT _DISPLAY_MSG_CUR_VAL _DISPLAY_MSG_EXP_VAL
|
||||||
do
|
do
|
||||||
# magically unquote if needed
|
# magically unquote if needed
|
||||||
|
@ -153,6 +153,7 @@ then
|
|||||||
then
|
then
|
||||||
print - "$*" | while read -r LOG_LINE
|
print - "$*" | while read -r LOG_LINE
|
||||||
do
|
do
|
||||||
|
# shellcheck disable=SC2153
|
||||||
print "${NOW}: ERROR: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
|
print "${NOW}: ERROR: [$$]:" "${LOG_LINE}" >>${LOG_FILE}
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
@ -220,6 +221,7 @@ HAS_REPORT_STD=0
|
|||||||
# check which core display/notification plugins are installed
|
# check which core display/notification plugins are installed
|
||||||
# do not use a while-do loop here because mksh/pdksh does not pass updated
|
# do not use a while-do loop here because mksh/pdksh does not pass updated
|
||||||
# variables back from the sub shell (only works for true ksh88/ksh93)
|
# variables back from the sub shell (only works for true ksh88/ksh93)
|
||||||
|
# shellcheck disable=SC2010
|
||||||
for FFILE in $(ls -1 ${FPATH_PARENT}/core/*.sh 2>/dev/null | grep -v "include_" 2>/dev/null)
|
for FFILE in $(ls -1 ${FPATH_PARENT}/core/*.sh 2>/dev/null | grep -v "include_" 2>/dev/null)
|
||||||
do
|
do
|
||||||
case "${FFILE}" in
|
case "${FFILE}" in
|
||||||
@ -593,7 +595,7 @@ typeset EXISTS_RC=0
|
|||||||
# variables back from the sub shell (only works for true ksh88/ksh93)
|
# variables back from the sub shell (only works for true ksh88/ksh93)
|
||||||
for FDIR in $(print "${FPATH}" | tr ':' ' ' 2>/dev/null)
|
for FDIR in $(print "${FPATH}" | tr ':' ' ' 2>/dev/null)
|
||||||
do
|
do
|
||||||
$(data_contains_string "${FDIR}" "core")
|
data_contains_string "${FDIR}" "core"
|
||||||
if (( $? == 0 ))
|
if (( $? == 0 ))
|
||||||
then
|
then
|
||||||
ls "${FDIR}/${EXISTS_HC}" >/dev/null 2>&1 && EXISTS_RC=1
|
ls "${FDIR}/${EXISTS_HC}" >/dev/null 2>&1 && EXISTS_RC=1
|
||||||
@ -613,7 +615,6 @@ function find_hc
|
|||||||
{
|
{
|
||||||
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
||||||
typeset FIND_HC="${1}"
|
typeset FIND_HC="${1}"
|
||||||
typeset FIND_PATH=""
|
|
||||||
typeset FDIR=""
|
typeset FDIR=""
|
||||||
|
|
||||||
print "${FPATH}" | tr ':' '\n' | grep -v "core$" | while read -r FDIR
|
print "${FPATH}" | tr ':' '\n' | grep -v "core$" | while read -r FDIR
|
||||||
@ -670,6 +671,7 @@ do
|
|||||||
# rewrite if needed
|
# rewrite if needed
|
||||||
if (( ERROR_COUNT > 0 ))
|
if (( ERROR_COUNT > 0 ))
|
||||||
then
|
then
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${TMP_FILE} 2>/dev/null
|
>${TMP_FILE} 2>/dev/null
|
||||||
cat ${FIX_FILE} 2>/dev/null | awk -F"${LOG_SEP}" -v OFS="${LOG_SEP}" '
|
cat ${FIX_FILE} 2>/dev/null | awk -F"${LOG_SEP}" -v OFS="${LOG_SEP}" '
|
||||||
|
|
||||||
@ -797,7 +799,6 @@ function handle_hc
|
|||||||
typeset HC_NAME="${1}"
|
typeset HC_NAME="${1}"
|
||||||
typeset HC_STDOUT_LOG_SHORT=""
|
typeset HC_STDOUT_LOG_SHORT=""
|
||||||
typeset HC_STDERR_LOG_SHORT=""
|
typeset HC_STDERR_LOG_SHORT=""
|
||||||
typeset HC_MSG_ENTRY=""
|
|
||||||
typeset HC_STC_RC=0
|
typeset HC_STC_RC=0
|
||||||
typeset ONE_MSG_STC=0
|
typeset ONE_MSG_STC=0
|
||||||
typeset ONE_MSG_TIME=""
|
typeset ONE_MSG_TIME=""
|
||||||
@ -823,7 +824,7 @@ then
|
|||||||
# determine ALL_MSG_STC (sum of all STCs)
|
# determine ALL_MSG_STC (sum of all STCs)
|
||||||
ALL_MSG_STC=$(print "${HC_MSG_VAR}" | awk -F"${MSG_SEP}" 'BEGIN { stc = 0 } { for (i=1;i<=NF;i++) { stc = stc + $1 }} END { print stc }' 2>/dev/null)
|
ALL_MSG_STC=$(print "${HC_MSG_VAR}" | awk -F"${MSG_SEP}" 'BEGIN { stc = 0 } { for (i=1;i<=NF;i++) { stc = stc + $1 }} END { print stc }' 2>/dev/null)
|
||||||
(( ARG_DEBUG != 0 )) && debug "HC all STC: ${ALL_MSG_STC}"
|
(( ARG_DEBUG != 0 )) && debug "HC all STC: ${ALL_MSG_STC}"
|
||||||
$(data_is_numeric ${ALL_MSG_STC}) || die "HC all STC computes to a non-numeric value"
|
data_is_numeric ${ALL_MSG_STC} || die "HC all STC computes to a non-numeric value"
|
||||||
else
|
else
|
||||||
# nothing to do
|
# nothing to do
|
||||||
return 0
|
return 0
|
||||||
@ -1128,6 +1129,7 @@ function handle_timeout
|
|||||||
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
||||||
[[ -n "${CHILD_PID}" ]] && kill -s TERM ${CHILD_PID}
|
[[ -n "${CHILD_PID}" ]] && kill -s TERM ${CHILD_PID}
|
||||||
warn "child process with PID ${CHILD_PID} has been forcefully stopped"
|
warn "child process with PID ${CHILD_PID} has been forcefully stopped"
|
||||||
|
# shellcheck disable=SC2034
|
||||||
CHILD_ERROR=1
|
CHILD_ERROR=1
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
@ -1142,9 +1144,6 @@ return 0
|
|||||||
function init_check_host
|
function init_check_host
|
||||||
{
|
{
|
||||||
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
||||||
typeset DUMMY=""
|
|
||||||
typeset HC_CONFIG=""
|
|
||||||
typeset HC_DESC=""
|
|
||||||
typeset HC_EXEC=""
|
typeset HC_EXEC=""
|
||||||
typeset DISPLAY_STYLE=""
|
typeset DISPLAY_STYLE=""
|
||||||
|
|
||||||
@ -1152,7 +1151,7 @@ typeset DISPLAY_STYLE=""
|
|||||||
|
|
||||||
# read required config values
|
# read required config values
|
||||||
DISPLAY_STYLE=$(_CONFIG_FILE="${HOST_CONFIG_FILE}" data_get_lvalue_from_config 'display_style')
|
DISPLAY_STYLE=$(_CONFIG_FILE="${HOST_CONFIG_FILE}" data_get_lvalue_from_config 'display_style')
|
||||||
case "${REPORT_STYLE}" in
|
case "${DISPLAY_STYLE}" in
|
||||||
csv|CSV) # csv format
|
csv|CSV) # csv format
|
||||||
if (( HAS_DISPLAY_CSV == 1 ))
|
if (( HAS_DISPLAY_CSV == 1 ))
|
||||||
then
|
then
|
||||||
@ -1258,7 +1257,7 @@ esac
|
|||||||
# mangle $ARG_HC to build the full list of HCs to be executed
|
# mangle $ARG_HC to build the full list of HCs to be executed
|
||||||
ARG_HC=""
|
ARG_HC=""
|
||||||
grep -i '^hc:' ${HOST_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^hc:' ${HOST_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read DUMMY HC_EXEC HC_CONFIG HC_DESC
|
while IFS=':' read _ HC_EXEC _ _
|
||||||
do
|
do
|
||||||
ARG_HC="${ARG_HC},${HC_EXEC}"
|
ARG_HC="${ARG_HC},${HC_EXEC}"
|
||||||
done
|
done
|
||||||
@ -1359,11 +1358,13 @@ typeset HC_VERSION=""
|
|||||||
if [[ "${FACTION}" != "list" ]]
|
if [[ "${FACTION}" != "list" ]]
|
||||||
then
|
then
|
||||||
printf "%-30s\t%-8s\t%s\t\t%s\n" "Core plugin" "State" "Version" "Config?"
|
printf "%-30s\t%-8s\t%s\t\t%s\n" "Core plugin" "State" "Version" "Config?"
|
||||||
|
# shellcheck disable=SC2183
|
||||||
printf "%80s\n" | tr ' ' -
|
printf "%80s\n" | tr ' ' -
|
||||||
fi
|
fi
|
||||||
print "${FPATH}" | tr ':' '\n' | grep "core$" | sort 2>/dev/null | while read -r FDIR
|
print "${FPATH}" | tr ':' '\n' | grep "core$" | sort 2>/dev/null | while read -r FDIR
|
||||||
do
|
do
|
||||||
# exclude core helper librar(y|ies)
|
# exclude core helper librar(y|ies)
|
||||||
|
# shellcheck disable=SC2010
|
||||||
ls -1 ${FDIR}/*.sh 2>/dev/null | grep -v "include_" | sort 2>/dev/null | while read -r FFILE
|
ls -1 ${FDIR}/*.sh 2>/dev/null | grep -v "include_" | sort 2>/dev/null | while read -r FFILE
|
||||||
do
|
do
|
||||||
# reset state
|
# reset state
|
||||||
@ -1405,6 +1406,7 @@ then
|
|||||||
print "${FPATH}" | tr ':' '\n' | grep "core$" | while read -r FDIR
|
print "${FPATH}" | tr ':' '\n' | grep "core$" | while read -r FDIR
|
||||||
do
|
do
|
||||||
# do not use 'find -type l' here!
|
# do not use 'find -type l' here!
|
||||||
|
# shellcheck disable=SC2010
|
||||||
ls ${FDIR} 2>/dev/null | grep -v "\." | while read -r FFILE
|
ls ${FDIR} 2>/dev/null | grep -v "\." | while read -r FFILE
|
||||||
do
|
do
|
||||||
if [[ -h "${FDIR}/${FFILE}" ]] && [[ ! -f "${FDIR}/${FFILE}" ]]
|
if [[ -h "${FDIR}/${FFILE}" ]] && [[ ! -f "${FDIR}/${FFILE}" ]]
|
||||||
@ -1460,6 +1462,7 @@ fi
|
|||||||
if [[ "${FACTION}" != "list" ]]
|
if [[ "${FACTION}" != "list" ]]
|
||||||
then
|
then
|
||||||
printf "%-30s\t%-8s\t%s\t\t%s\t%s\t%s\n" "Health Check" "State" "Version" "Config?" "Sched?" "H+?"
|
printf "%-30s\t%-8s\t%s\t\t%s\t%s\t%s\n" "Health Check" "State" "Version" "Config?" "Sched?" "H+?"
|
||||||
|
# shellcheck disable=SC2183
|
||||||
printf "%100s\n" | tr ' ' -
|
printf "%100s\n" | tr ' ' -
|
||||||
fi
|
fi
|
||||||
print "${FPATH}" | tr ':' '\n' | grep -v "core$" | sort 2>/dev/null | while read -r FDIR
|
print "${FPATH}" | tr ':' '\n' | grep -v "core$" | sort 2>/dev/null | while read -r FDIR
|
||||||
@ -1562,6 +1565,7 @@ then
|
|||||||
print "${FPATH}" | tr ':' '\n' | grep -v "core" | while read -r FDIR
|
print "${FPATH}" | tr ':' '\n' | grep -v "core" | while read -r FDIR
|
||||||
do
|
do
|
||||||
# do not use 'find -type l' here!
|
# do not use 'find -type l' here!
|
||||||
|
# shellcheck disable=SC2010
|
||||||
ls ${FDIR} 2>/dev/null | grep -v "\." | while read -r FFILE
|
ls ${FDIR} 2>/dev/null | grep -v "\." | while read -r FFILE
|
||||||
do
|
do
|
||||||
if [[ -h "${FDIR}/${FFILE}" ]] && [[ ! -f "${FDIR}/${FFILE}" ]]
|
if [[ -h "${FDIR}/${FFILE}" ]] && [[ ! -f "${FDIR}/${FFILE}" ]]
|
||||||
@ -1635,7 +1639,6 @@ function log_hc
|
|||||||
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && set "${DEBUG_OPTS}"
|
||||||
typeset HC_NAME="${1}"
|
typeset HC_NAME="${1}"
|
||||||
typeset HC_STC=${2}
|
typeset HC_STC=${2}
|
||||||
typeset HC_MSG="${3}"
|
|
||||||
typeset HC_NOW="$(date '+%Y-%m-%d %H:%M:%S' 2>/dev/null)"
|
typeset HC_NOW="$(date '+%Y-%m-%d %H:%M:%S' 2>/dev/null)"
|
||||||
typeset HC_MSG_CUR_VAL=""
|
typeset HC_MSG_CUR_VAL=""
|
||||||
typeset HC_MSG_EXP_VAL=""
|
typeset HC_MSG_EXP_VAL=""
|
||||||
|
@ -41,7 +41,7 @@ _LVALUE=$(grep -i "^${_PARAMETER} *=" ${_CONFIG_FILE} | cut -f2- -d'=')
|
|||||||
|
|
||||||
if [[ -n "${_LVALUE}" ]]
|
if [[ -n "${_LVALUE}" ]]
|
||||||
then
|
then
|
||||||
print $(data_dequote "${_LVALUE}")
|
print "$(data_dequote \"${_LVALUE}\")"
|
||||||
else
|
else
|
||||||
_RC=1
|
_RC=1
|
||||||
fi
|
fi
|
||||||
@ -553,7 +553,7 @@ typeset _OLD_IFS="${IFS}"
|
|||||||
|
|
||||||
IFS="."
|
IFS="."
|
||||||
set -A _COMPS ${_DOT}
|
set -A _COMPS ${_DOT}
|
||||||
IFS="${OLD_IFS}"
|
IFS="${_OLD_IFS}"
|
||||||
|
|
||||||
_IP=$((_IP | ((_COMPS[0] & 255) << 24) ))
|
_IP=$((_IP | ((_COMPS[0] & 255) << 24) ))
|
||||||
_IP=$((_IP | ((_COMPS[1] & 255) << 16) ))
|
_IP=$((_IP | ((_COMPS[1] & 255) << 16) ))
|
||||||
@ -718,18 +718,18 @@ typeset _LEAP_YEARS
|
|||||||
set -A _DAYS_ACC 0 0 31 59 90 120 151 181 212 243 273 304 334 365
|
set -A _DAYS_ACC 0 0 31 59 90 120 151 181 212 243 273 304 334 365
|
||||||
|
|
||||||
# calculate day of year (counting from 0)
|
# calculate day of year (counting from 0)
|
||||||
_YEAR_DAY=$(( (${_DAY} - 1) + ${_DAYS_ACC[${_MONTH}]} ))
|
_YEAR_DAY=$(( (_DAY - 1) + _DAYS_ACC[_MONTH] ))
|
||||||
|
|
||||||
# calculate number of leap years
|
# calculate number of leap years
|
||||||
_LEAP_YEARS=$(( (${_YEAR} - 1968) / 4 ))
|
_LEAP_YEARS=$(( (_YEAR - 1968) / 4 ))
|
||||||
_LEAP_YEARS=$(( ${_LEAP_YEARS} - ${_YEAR} / 100 + ${_YEAR} / 400 + 15 ))
|
_LEAP_YEARS=$(( _LEAP_YEARS - _YEAR / 100 + _YEAR / 400 + 15 ))
|
||||||
|
|
||||||
# adjust if we are still in Jan/Feb of leap year
|
# adjust if we are still in Jan/Feb of leap year
|
||||||
[[ $((${_YEAR} % 4)) = 0 && ${_MONTH} < 3 ]] && _LEAP_YEARS=$(( ${_LEAP_YEARS} - 1 ))
|
[[ $((_YEAR % 4)) = 0 && ${_MONTH} -lt 3 ]] && _LEAP_YEARS=$(( _LEAP_YEARS - 1 ))
|
||||||
|
|
||||||
# calculate the time since epoch
|
# calculate the time since epoch
|
||||||
_EPOCH=$(( ((${_YEAR} - 1970) * 365 + ${_YEAR_DAY} + ${_LEAP_YEARS}) * 86400
|
_EPOCH=$(( ((_YEAR - 1970) * 365 + _YEAR_DAY + _LEAP_YEARS) * 86400
|
||||||
+ ${_HOUR} * 3600 + ${_MINUTE} * 60 + ${_SECOND} ))
|
+ _HOUR * 3600 + _MINUTE * 60 + _SECOND ))
|
||||||
|
|
||||||
print ${_EPOCH}
|
print ${_EPOCH}
|
||||||
}
|
}
|
||||||
@ -762,7 +762,7 @@ then
|
|||||||
print "${_CONVERT_DATE}"
|
print "${_CONVERT_DATE}"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
print "${CONVERT_DATE}"
|
print "${_CONVERT_DATE}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
@ -101,6 +101,7 @@ then
|
|||||||
LINUX_INIT="systemd"
|
LINUX_INIT="systemd"
|
||||||
elif [[ -r /usr/share/upstart ]]
|
elif [[ -r /usr/share/upstart ]]
|
||||||
then
|
then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
LINUX_INIT="upstart"
|
LINUX_INIT="upstart"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ function notify_eif
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/core/providers/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/core/providers/$0.conf"
|
||||||
typeset _VERSION="2018-05-12" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# send EIF
|
# send EIF
|
||||||
if [[ -x ${EIF_BIN} ]]
|
if [[ -x ${_EIF_BIN} ]]
|
||||||
then
|
then
|
||||||
# set trap on SIGUSR1
|
# set trap on SIGUSR1
|
||||||
trap "handle_timeout" USR1
|
trap "handle_timeout" USR1
|
||||||
@ -95,7 +95,7 @@ then
|
|||||||
_SLEEP_PID=$!
|
_SLEEP_PID=$!
|
||||||
|
|
||||||
# do POSTEIFMSG in the background
|
# do POSTEIFMSG in the background
|
||||||
${EIF_BIN} -f ${EIF_ETC} -r ${EIF_SEVERITY} -m "${_EIF_MESSAGE}" \
|
${_EIF_BIN} -f ${_EIF_ETC} -r ${_EIF_SEVERITY} -m "${_EIF_MESSAGE}" \
|
||||||
hostname=${HOST_NAME} sub_origin=part1 ${_EIF_CLASS} POST &
|
hostname=${HOST_NAME} sub_origin=part1 ${_EIF_CLASS} POST &
|
||||||
CHILD_PID=$!
|
CHILD_PID=$!
|
||||||
log "spawning child process with time-out of ${_TIME_OUT} secs for EIF notify [PID=${CHILD_PID}]"
|
log "spawning child process with time-out of ${_TIME_OUT} secs for EIF notify [PID=${CHILD_PID}]"
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
function notify_mail
|
function notify_mail
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -44,9 +44,7 @@ typeset _MAIL_FAIL_ID="$2"
|
|||||||
typeset _HC_BODY=""
|
typeset _HC_BODY=""
|
||||||
typeset _HC_STDOUT_LOG_SHORT=""
|
typeset _HC_STDOUT_LOG_SHORT=""
|
||||||
typeset _HC_STDERR_LOG_SHORT=""
|
typeset _HC_STDERR_LOG_SHORT=""
|
||||||
typeset _HC_MSG_ENTRY=""
|
|
||||||
typeset _MAIL_MSG_STC=""
|
typeset _MAIL_MSG_STC=""
|
||||||
typeset _MAIL_MSG_TIME=""
|
|
||||||
typeset _MAIL_MSG_TEXT=""
|
typeset _MAIL_MSG_TEXT=""
|
||||||
typeset _MAIL_INFO_TPL="${CONFIG_DIR}/core/templates/mail_info.tpl"
|
typeset _MAIL_INFO_TPL="${CONFIG_DIR}/core/templates/mail_info.tpl"
|
||||||
typeset _MAIL_HEADER_TPL="${CONFIG_DIR}/core/templates/mail_header.tpl"
|
typeset _MAIL_HEADER_TPL="${CONFIG_DIR}/core/templates/mail_header.tpl"
|
||||||
@ -67,10 +65,13 @@ typeset _TMP1_MAIL_FILE="${TMP_DIR}/.${SCRIPT_NAME}.mail.tmp1.$$"
|
|||||||
typeset _TMP2_MAIL_FILE="${TMP_DIR}/.${SCRIPT_NAME}.mail.tmp2.$$"
|
typeset _TMP2_MAIL_FILE="${TMP_DIR}/.${SCRIPT_NAME}.mail.tmp2.$$"
|
||||||
typeset _NOW="$(date '+%d-%h-%Y %H:%M:%S')"
|
typeset _NOW="$(date '+%d-%h-%Y %H:%M:%S')"
|
||||||
typeset _SUBJ_MSG="[${HOST_NAME}] HC ${_MAIL_HC} failed (${_NOW})"
|
typeset _SUBJ_MSG="[${HOST_NAME}] HC ${_MAIL_HC} failed (${_NOW})"
|
||||||
|
# shellcheck disable=SC2034
|
||||||
typeset _FROM_MSG="${EXEC_USER}@${HOST_NAME}"
|
typeset _FROM_MSG="${EXEC_USER}@${HOST_NAME}"
|
||||||
typeset _dummy=""
|
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
|
trap "[[ -f ${_TMP1_MAIL_FILE} ]] && rm -f ${_TMP1_MAIL_FILE} >/dev/null 2>&1; [[ -f ${_TMP2_MAIL_FILE} ]] && rm -f ${_TMP2_MAIL_FILE} >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_MAIL_FILE} ]] && rm -f ${_TMP1_MAIL_FILE} >/dev/null 2>&1; [[ -f ${_TMP2_MAIL_FILE} ]] && rm -f ${_TMP2_MAIL_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "[[ -f ${_TMP1_MAIL_FILE} ]] && rm -f ${_TMP1_MAIL_FILE} >/dev/null 2>&1; [[ -f ${_TMP2_MAIL_FILE} ]] && rm -f ${_TMP2_MAIL_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# set short paths for STDOUT/STDERR logs
|
# set short paths for STDOUT/STDERR logs
|
||||||
@ -133,7 +134,7 @@ $(sed 's/[\$`]/\\&/g;s/<## @\([^ ]*\) ##>/${\1}/g' <${_MAIL_HEADER_TPL})
|
|||||||
__EOT" >>${_TMP1_MAIL_FILE}
|
__EOT" >>${_TMP1_MAIL_FILE}
|
||||||
|
|
||||||
# create body part (from $HC_MSG_VAR)
|
# create body part (from $HC_MSG_VAR)
|
||||||
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _MAIL_MSG_STC _MAIL_MSG_TIME _MAIL_MSG_TEXT _MAIL_MSG_CUR_VAL _MAIL_MSG_EXP_VAL
|
print "${HC_MSG_VAR}" | while IFS=${MSG_SEP} read _MAIL_MSG_STC _ _MAIL_MSG_TEXT _MAIL_MSG_CUR_VAL _MAIL_MSG_EXP_VAL
|
||||||
do
|
do
|
||||||
# magically unquote if needed
|
# magically unquote if needed
|
||||||
if [[ -n "${_MAIL_MSG_TEXT}" ]]
|
if [[ -n "${_MAIL_MSG_TEXT}" ]]
|
||||||
@ -177,18 +178,22 @@ __EOT" >>${_TMP1_MAIL_FILE}
|
|||||||
_MAIL_STDOUT_LOG="${EVENTS_DIR}/${DIR_PREFIX}/${_MAIL_FAIL_ID}/${_HC_STDOUT_LOG_SHORT%.*}"
|
_MAIL_STDOUT_LOG="${EVENTS_DIR}/${DIR_PREFIX}/${_MAIL_FAIL_ID}/${_HC_STDOUT_LOG_SHORT%.*}"
|
||||||
if [[ -s "${_MAIL_STDOUT_LOG}" ]]
|
if [[ -s "${_MAIL_STDOUT_LOG}" ]]
|
||||||
then
|
then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
_MAIL_STDOUT_MSG="${_MAIL_STDOUT_LOG}"
|
_MAIL_STDOUT_MSG="${_MAIL_STDOUT_LOG}"
|
||||||
_MAIL_ATTACH_BIT="-a ${_MAIL_STDOUT_LOG}"
|
_MAIL_ATTACH_BIT="-a ${_MAIL_STDOUT_LOG}"
|
||||||
else
|
else
|
||||||
|
# shellcheck disable=SC2034
|
||||||
_MAIL_STDOUT_MSG="no log file available"
|
_MAIL_STDOUT_MSG="no log file available"
|
||||||
fi
|
fi
|
||||||
# HC STDERR? (drop the .$$ bit)
|
# HC STDERR? (drop the .$$ bit)
|
||||||
_MAIL_STDERR_LOG="${EVENTS_DIR}/${DIR_PREFIX}/${_MAIL_FAIL_ID}/${_HC_STDERR_LOG_SHORT%.*}"
|
_MAIL_STDERR_LOG="${EVENTS_DIR}/${DIR_PREFIX}/${_MAIL_FAIL_ID}/${_HC_STDERR_LOG_SHORT%.*}"
|
||||||
if [[ -s "${_MAIL_STDERR_LOG}" ]]
|
if [[ -s "${_MAIL_STDERR_LOG}" ]]
|
||||||
then
|
then
|
||||||
|
# shellcheck disable=SC2034
|
||||||
_MAIL_STDERR_MSG="${_MAIL_STDERR_LOG}"
|
_MAIL_STDERR_MSG="${_MAIL_STDERR_LOG}"
|
||||||
_MAIL_ATTACH_BIT="${_MAIL_ATTACH_BIT} -a ${_MAIL_STDERR_LOG}"
|
_MAIL_ATTACH_BIT="${_MAIL_ATTACH_BIT} -a ${_MAIL_STDERR_LOG}"
|
||||||
else
|
else
|
||||||
|
# shellcheck disable=SC2034
|
||||||
_MAIL_STDERR_MSG="no log file available"
|
_MAIL_STDERR_MSG="no log file available"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ function notify_sms
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/core/providers/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/core/providers/$0.conf"
|
||||||
typeset _VERSION="2018-05-14" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ typeset _CURL_BIN=""
|
|||||||
typeset _SMS_PROVIDERS=""
|
typeset _SMS_PROVIDERS=""
|
||||||
typeset _SMS_KAPOW_SEND_URL=""
|
typeset _SMS_KAPOW_SEND_URL=""
|
||||||
typeset _SMS_KAPOW_USER=""
|
typeset _SMS_KAPOW_USER=""
|
||||||
typeset _SMS_KAPOW_PASSWORD=""
|
typeset _SMS_KAPOW_PASS=""
|
||||||
|
|
||||||
# handle config file
|
# handle config file
|
||||||
if [[ ! -r ${_CONFIG_FILE} ]]
|
if [[ ! -r ${_CONFIG_FILE} ]]
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
function report_std
|
function report_std
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2018-05-27" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX,HP-UX,Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -49,7 +49,6 @@ typeset _HC_LAST_FAIL_ID="-"
|
|||||||
typeset _ID_NEEDLE=""
|
typeset _ID_NEEDLE=""
|
||||||
typeset _CHECK_FILE=""
|
typeset _CHECK_FILE=""
|
||||||
typeset _LOG_STASH=""
|
typeset _LOG_STASH=""
|
||||||
typeset _REPORT_LINE=""
|
|
||||||
typeset _SORT_CMD=""
|
typeset _SORT_CMD=""
|
||||||
|
|
||||||
# which files do we need to examine
|
# which files do we need to examine
|
||||||
@ -65,6 +64,7 @@ fi
|
|||||||
if (( ARG_LAST != 0 ))
|
if (( ARG_LAST != 0 ))
|
||||||
then
|
then
|
||||||
printf "\n| %-30s | %-20s | %-14s | %-4s\n" "HC" "Timestamp" "FAIL ID" "STC (combined value)"
|
printf "\n| %-30s | %-20s | %-14s | %-4s\n" "HC" "Timestamp" "FAIL ID" "STC (combined value)"
|
||||||
|
# shellcheck disable=SC2183
|
||||||
printf "%100s\n" | tr ' ' -
|
printf "%100s\n" | tr ' ' -
|
||||||
# loop over all HCs
|
# loop over all HCs
|
||||||
list_hc "list" | while read -r _HC_LAST
|
list_hc "list" | while read -r _HC_LAST
|
||||||
@ -136,6 +136,7 @@ else
|
|||||||
then
|
then
|
||||||
printf "\n| %-20s | %-14s | %-30s | %-s\n" \
|
printf "\n| %-20s | %-14s | %-30s | %-s\n" \
|
||||||
"Timestamp" "FAIL ID" "HC" "Message"
|
"Timestamp" "FAIL ID" "HC" "Message"
|
||||||
|
# shellcheck disable=SC2183
|
||||||
printf "%120s\n" | tr ' ' -
|
printf "%120s\n" | tr ' ' -
|
||||||
|
|
||||||
# print failed events
|
# print failed events
|
||||||
@ -169,6 +170,7 @@ else
|
|||||||
' 2>/dev/null
|
' 2>/dev/null
|
||||||
|
|
||||||
_DIR_PREFIX="$(expr substr ${ARG_FAIL_ID} 1 4)-$(expr substr ${ARG_FAIL_ID} 5 2)"
|
_DIR_PREFIX="$(expr substr ${ARG_FAIL_ID} 1 4)-$(expr substr ${ARG_FAIL_ID} 5 2)"
|
||||||
|
# shellcheck disable=SC2183
|
||||||
printf "%37sSTDOUT%37s\n" | tr ' ' -;
|
printf "%37sSTDOUT%37s\n" | tr ' ' -;
|
||||||
# display non-empty STDOUT file(s)
|
# display non-empty STDOUT file(s)
|
||||||
if [[ -n "$(du -a ${EVENTS_DIR}/${_DIR_PREFIX}/${ARG_FAIL_ID}/*.stdout.log 2>/dev/null | awk '$1*512 > 0 {print $2}')" ]]
|
if [[ -n "$(du -a ${EVENTS_DIR}/${_DIR_PREFIX}/${ARG_FAIL_ID}/*.stdout.log 2>/dev/null | awk '$1*512 > 0 {print $2}')" ]]
|
||||||
@ -178,6 +180,7 @@ else
|
|||||||
printf "%-s\n" "No STDOUT found"
|
printf "%-s\n" "No STDOUT found"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2183
|
||||||
printf "%37sSTDERR%37s\n" | tr ' ' -;
|
printf "%37sSTDERR%37s\n" | tr ' ' -;
|
||||||
# display non-empty STDERR file(s)
|
# display non-empty STDERR file(s)
|
||||||
if [[ -n "$(du -a ${EVENTS_DIR}/${_DIR_PREFIX}/${ARG_FAIL_ID}/*.stderr.log 2>/dev/null | awk '$1*512 > 0 {print $2}')" ]]
|
if [[ -n "$(du -a ${EVENTS_DIR}/${_DIR_PREFIX}/${ARG_FAIL_ID}/*.stderr.log 2>/dev/null | awk '$1*512 > 0 {print $2}')" ]]
|
||||||
@ -187,6 +190,7 @@ else
|
|||||||
printf "%-s\n" "No STDERR found"
|
printf "%-s\n" "No STDERR found"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# shellcheck disable=SC2183
|
||||||
printf "%80s\n" | tr ' ' -
|
printf "%80s\n" | tr ' ' -
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
# @(#) 2013-05-15: initial version [Patrick Van der Veken]
|
# @(#) 2013-05-15: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2013-05-29: small fix errpt last check time [Patrick Van der Veken]
|
# @(#) 2013-05-29: small fix errpt last check time [Patrick Van der Veken]
|
||||||
# @(#) 2013-06-24: big fix errpt last check time [Patrick Van der Veken]
|
# @(#) 2013-06-24: big fix errpt last check time [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@
|
|||||||
function check_aix_errpt
|
function check_aix_errpt
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2013-06-24" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -47,7 +48,6 @@ typeset _STC=0
|
|||||||
typeset _LAST_TIME_CHECK=""
|
typeset _LAST_TIME_CHECK=""
|
||||||
typeset _LAST_TIME_FILE=""
|
typeset _LAST_TIME_FILE=""
|
||||||
typeset _LABEL=""
|
typeset _LABEL=""
|
||||||
typeset _IDENTIFIER=""
|
|
||||||
typeset _NEW_CHECK_TIME=""
|
typeset _NEW_CHECK_TIME=""
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#
|
#
|
||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2013-05-27: initial version [Patrick Van der Veken]
|
# @(#) 2013-05-27: initial version [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -32,7 +33,7 @@ function check_aix_file_age
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2013-05-27" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="AIX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="AIX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -44,7 +45,7 @@ typeset _ARG=""
|
|||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
typeset _ENTRY=""
|
typeset _ENTRY=""
|
||||||
typeset _AGE_CHECK==""
|
typeset _AGE_CHECK=""
|
||||||
typeset _FILE_PATH=""
|
typeset _FILE_PATH=""
|
||||||
typeset _FILE_AGE=""
|
typeset _FILE_AGE=""
|
||||||
typeset _FILE_NAME=""
|
typeset _FILE_NAME=""
|
||||||
@ -80,7 +81,7 @@ do
|
|||||||
_FILE_DIR="$(print ${_FILE_PATH%/*})"
|
_FILE_DIR="$(print ${_FILE_PATH%/*})"
|
||||||
|
|
||||||
# check config
|
# check config
|
||||||
if [ \( -z "${_FILE_PATH}" \) -a \( -z "${_FILE_AGE}" \) ]
|
if [[ -z "${_FILE_PATH}" ]] && [[ -z "${_FILE_AGE}" ]]
|
||||||
then
|
then
|
||||||
warn "missing values in configuration file at ${_CONFIG_FILE}"
|
warn "missing values in configuration file at ${_CONFIG_FILE}"
|
||||||
return 1
|
return 1
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#
|
#
|
||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_aix_file_change
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2017-05-18" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -44,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
|
|||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
typeset _STC_COUNT=0
|
|
||||||
typeset _DO_META_CHECK=0
|
typeset _DO_META_CHECK=0
|
||||||
typeset _CFG_STATE_FILE=""
|
typeset _CFG_STATE_FILE=""
|
||||||
typeset _STATE_FILE=""
|
typeset _STATE_FILE=""
|
||||||
@ -65,11 +65,13 @@ typeset _TMP_EXCL_FILE="${TMP_DIR}/.$0.tmp_excl.$$"
|
|||||||
set -o noglob # no file globbing
|
set -o noglob # no file globbing
|
||||||
|
|
||||||
# set local trap for clean-up
|
# set local trap for clean-up
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1;
|
||||||
return 0" 0
|
return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
||||||
@ -133,6 +135,7 @@ fi
|
|||||||
|
|
||||||
# check state file & TMP_FILEs
|
# check state file & TMP_FILEs
|
||||||
[[ -r ${_STATE_FILE} ]] || {
|
[[ -r ${_STATE_FILE} ]] || {
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_STATE_FILE}
|
>${_STATE_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create new state file at ${_STATE_FILE}"
|
warn "failed to create new state file at ${_STATE_FILE}"
|
||||||
@ -140,21 +143,25 @@ fi
|
|||||||
}
|
}
|
||||||
log "created new state file at ${_STATE_FILE}"
|
log "created new state file at ${_STATE_FILE}"
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP_INCL_FILE}
|
>${_TMP_INCL_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
|
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP_EXCL_FILE}
|
>${_TMP_EXCL_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
|
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP1_FILE}
|
>${_TMP1_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP1_FILE}"
|
warn "failed to create temporary file at ${_TMP1_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP2_FILE}
|
>${_TMP2_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP2_FILE}"
|
warn "failed to create temporary file at ${_TMP2_FILE}"
|
||||||
@ -163,7 +170,7 @@ fi
|
|||||||
|
|
||||||
# build list of configured objects: inclusion
|
# build list of configured objects: inclusion
|
||||||
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _INCL_OBJECT
|
while IFS=':' read _ _INCL_OBJECT
|
||||||
do
|
do
|
||||||
# check for meta & globbing characters (*?[]{}|)
|
# check for meta & globbing characters (*?[]{}|)
|
||||||
if (( _DO_META_CHECK == 1 ))
|
if (( _DO_META_CHECK == 1 ))
|
||||||
@ -187,7 +194,7 @@ done
|
|||||||
|
|
||||||
# build list of configured objects: exclusion
|
# build list of configured objects: exclusion
|
||||||
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _EXCL_OBJECT
|
while IFS=':' read _ _EXCL_OBJECT
|
||||||
do
|
do
|
||||||
# check for meta & globbing characters (*?[]{}|)
|
# check for meta & globbing characters (*?[]{}|)
|
||||||
if (( _DO_META_CHECK == 1 ))
|
if (( _DO_META_CHECK == 1 ))
|
||||||
@ -337,12 +344,6 @@ then
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# clean up temporary files
|
|
||||||
[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
# @(#) 2018-05-11: initial version [Patrick Van der Veken]
|
# @(#) 2018-05-11: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
# @(#) 2018-10-18: changed boot status [Patrick Van der Veken]
|
# @(#) 2018-10-18: changed boot status [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -37,7 +38,7 @@ function check_hpux_drd_status
|
|||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _DRD_BIN="/opt/drd/bin/drd"
|
typeset _DRD_BIN="/opt/drd/bin/drd"
|
||||||
typeset _VERSION="2018-10-18" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -47,7 +48,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _ARGS=$(data_space2comma "$*")
|
typeset _ARGS=$(data_space2comma "$*")
|
||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
|
||||||
typeset _RC=0
|
typeset _RC=0
|
||||||
typeset _CHECK_CLONE=""
|
typeset _CHECK_CLONE=""
|
||||||
typeset _CHECK_SYNC=""
|
typeset _CHECK_SYNC=""
|
||||||
@ -126,8 +126,7 @@ fi
|
|||||||
if (( _RC == 0 )) && (( $(grep -c -E -e ".*Information succeeded.*" ${HC_STDOUT_LOG} 2>/dev/null) > 0 ))
|
if (( _RC == 0 )) && (( $(grep -c -E -e ".*Information succeeded.*" ${HC_STDOUT_LOG} 2>/dev/null) > 0 ))
|
||||||
then
|
then
|
||||||
# convert NOW to epoch (pass date values as unquoted parameters)
|
# convert NOW to epoch (pass date values as unquoted parameters)
|
||||||
#_NOW_EPOCH=$(data_date2epoch "$(date '+%Y')" "$(date '+%m')" "$(date '+%d')" "$(date '+%H')" "$(date '+%M')" "$(date '+%S')")
|
_NOW_EPOCH=$(data_date2epoch "$(date '+%Y')" "$(date '+%m')" "$(date '+%d')" "$(date '+%H')" "$(date '+%M')" "$(date '+%S')")
|
||||||
_NOW_EPOCH=$(data_date2epoch $(date '+%Y %m %d %H %M %S'))
|
|
||||||
|
|
||||||
# get devices
|
# get devices
|
||||||
_ORIGINAL_DISK=$(data_strip_space "$(grep "Original Disk:" ${HC_STDOUT_LOG} 2>/dev/null | cut -f2 -d':')")
|
_ORIGINAL_DISK=$(data_strip_space "$(grep "Original Disk:" ${HC_STDOUT_LOG} 2>/dev/null | cut -f2 -d':')")
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2013-05-27: initial version [Patrick Van der Veken]
|
# @(#) 2013-05-27: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2013-05-29: added local trap for cleanup [Patrick Van der Veken]
|
# @(#) 2013-05-29: added local trap for cleanup [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_hpux_file_age
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2013-05-29" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -47,15 +48,15 @@ typeset _STC=0
|
|||||||
typeset _REF_FILE="${TMP_DIR}/.$0.ref.$$"
|
typeset _REF_FILE="${TMP_DIR}/.$0.ref.$$"
|
||||||
typeset _DO_REF=0
|
typeset _DO_REF=0
|
||||||
typeset _ENTRY=""
|
typeset _ENTRY=""
|
||||||
typeset _REF_TIME=""
|
|
||||||
typeset _AGE_CHECK==""
|
|
||||||
typeset _FILE_PATH=""
|
typeset _FILE_PATH=""
|
||||||
typeset _FILE_AGE=""
|
typeset _FILE_AGE=""
|
||||||
typeset _FILE_NAME=""
|
typeset _FILE_NAME=""
|
||||||
typeset _FILE_DIR=""
|
typeset _FILE_DIR=""
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_REF_FILE} ]] && rm -f ${_REF_FILE} >/dev/null 2>&1; return 0" 0
|
trap "[[ -f ${_REF_FILE} ]] && rm -f ${_REF_FILE} >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_REF_FILE} ]] && rm -f ${_REF_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "[[ -f ${_REF_FILE} ]] && rm -f ${_REF_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -88,7 +89,7 @@ do
|
|||||||
_FILE_DIR=$(print "${_FILE_PATH%/*}")
|
_FILE_DIR=$(print "${_FILE_PATH%/*}")
|
||||||
|
|
||||||
# check config
|
# check config
|
||||||
if [ \( -z "${_FILE_PATH}" \) -a \( -z "${_FILE_AGE}" \) ]
|
if [[ -z "${_FILE_PATH}" ]] && [[ -z "${_FILE_AGE}" ]]
|
||||||
then
|
then
|
||||||
warn "missing values in configuration file at ${_CONFIG_FILE}"
|
warn "missing values in configuration file at ${_CONFIG_FILE}"
|
||||||
return 1
|
return 1
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#
|
#
|
||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_hpux_file_change
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2017-05-18" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -44,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
|
|||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
typeset _STC_COUNT=0
|
|
||||||
typeset _DO_META_CHECK=0
|
typeset _DO_META_CHECK=0
|
||||||
typeset _CFG_STATE_FILE=""
|
typeset _CFG_STATE_FILE=""
|
||||||
typeset _STATE_FILE=""
|
typeset _STATE_FILE=""
|
||||||
@ -65,11 +65,13 @@ typeset _TMP_EXCL_FILE="${TMP_DIR}/.$0.tmp_excl.$$"
|
|||||||
set -o noglob # no file globbing
|
set -o noglob # no file globbing
|
||||||
|
|
||||||
# set local trap for clean-up
|
# set local trap for clean-up
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1;
|
||||||
return 0" 0
|
return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
||||||
@ -133,6 +135,7 @@ fi
|
|||||||
|
|
||||||
# check state file & TMP_FILEs
|
# check state file & TMP_FILEs
|
||||||
[[ -r ${_STATE_FILE} ]] || {
|
[[ -r ${_STATE_FILE} ]] || {
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_STATE_FILE}
|
>${_STATE_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create new state file at ${_STATE_FILE}"
|
warn "failed to create new state file at ${_STATE_FILE}"
|
||||||
@ -140,21 +143,25 @@ fi
|
|||||||
}
|
}
|
||||||
log "created new state file at ${_STATE_FILE}"
|
log "created new state file at ${_STATE_FILE}"
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP_INCL_FILE}
|
>${_TMP_INCL_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
|
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP_EXCL_FILE}
|
>${_TMP_EXCL_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
|
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP1_FILE}
|
>${_TMP1_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP1_FILE}"
|
warn "failed to create temporary file at ${_TMP1_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP2_FILE}
|
>${_TMP2_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP2_FILE}"
|
warn "failed to create temporary file at ${_TMP2_FILE}"
|
||||||
@ -163,7 +170,7 @@ fi
|
|||||||
|
|
||||||
# build list of configured objects: inclusion
|
# build list of configured objects: inclusion
|
||||||
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _INCL_OBJECT
|
while IFS=':' read _ _INCL_OBJECT
|
||||||
do
|
do
|
||||||
# check for meta & globbing characters (*?[]{}|)
|
# check for meta & globbing characters (*?[]{}|)
|
||||||
if (( _DO_META_CHECK == 1 ))
|
if (( _DO_META_CHECK == 1 ))
|
||||||
@ -187,7 +194,7 @@ done
|
|||||||
|
|
||||||
# build list of configured objects: exclusion
|
# build list of configured objects: exclusion
|
||||||
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _EXCL_OBJECT
|
while IFS=':' read _ _EXCL_OBJECT
|
||||||
do
|
do
|
||||||
# check for meta & globbing characters (*?[]{}|)
|
# check for meta & globbing characters (*?[]{}|)
|
||||||
if (( _DO_META_CHECK == 1 ))
|
if (( _DO_META_CHECK == 1 ))
|
||||||
@ -337,12 +344,6 @@ then
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# clean up temporary files
|
|
||||||
[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
# @(#) 2016-04-04: original version [Patrick Van der Veken]
|
# @(#) 2016-04-04: original version [Patrick Van der Veken]
|
||||||
# @(#) 2016-12-02: add support for ignore_missing_fs option [Patrick Van der Veken]
|
# @(#) 2016-12-02: add support for ignore_missing_fs option [Patrick Van der Veken]
|
||||||
# @(#) 2017-07-31: added support for current/expected value output [Patrick Van der Veken]
|
# @(#) 2017-07-31: added support for current/expected value output [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -34,7 +35,7 @@ function check_hpux_fs_mounts_options
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2017-07-31" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -48,7 +49,6 @@ typeset _STC=0
|
|||||||
typeset _CONFIG_FS=""
|
typeset _CONFIG_FS=""
|
||||||
typeset _CONFIG_OPTS=""
|
typeset _CONFIG_OPTS=""
|
||||||
typeset _CURR_OPTS=""
|
typeset _CURR_OPTS=""
|
||||||
typeset _DUMMY=""
|
|
||||||
typeset _IGNORE_FS=""
|
typeset _IGNORE_FS=""
|
||||||
typeset _IS_ACTIVE=0
|
typeset _IS_ACTIVE=0
|
||||||
typeset _FS_ENTRY=""
|
typeset _FS_ENTRY=""
|
||||||
@ -86,7 +86,7 @@ mount >>${HC_STDOUT_LOG} 2>>${HC_STDERR_LOG}
|
|||||||
|
|
||||||
# check for each configured file system
|
# check for each configured file system
|
||||||
grep -i '^fs:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^fs:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _CONFIG_FS _CONFIG_OPTS
|
while IFS=':' read _ _CONFIG_FS _CONFIG_OPTS
|
||||||
do
|
do
|
||||||
# check for active FS
|
# check for active FS
|
||||||
_IS_ACTIVE=$(grep -c -E -e "^${_CONFIG_FS}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null)
|
_IS_ACTIVE=$(grep -c -E -e "^${_CONFIG_FS}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null)
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#
|
#
|
||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -31,7 +32,7 @@
|
|||||||
function check_hpux_guid_status
|
function check_hpux_guid_status
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2017-05-18" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -63,7 +64,7 @@ then
|
|||||||
if [[ -n "${_GUID_PID}" ]]
|
if [[ -n "${_GUID_PID}" ]]
|
||||||
then
|
then
|
||||||
# get PID list without heading
|
# get PID list without heading
|
||||||
(( $(UNIX95= ps -o pid= -p ${_GUID_PID}| wc -l) == 0 )) && _STC=1
|
(( $(UNIX95='' ps -o pid= -p ${_GUID_PID}| wc -l) == 0 )) && _STC=1
|
||||||
else
|
else
|
||||||
# not running
|
# not running
|
||||||
_RC=1
|
_RC=1
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
# @(#) 2017-06-01: initial version [Patrick Van der Veken]
|
# @(#) 2017-06-01: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2017-06-08: return 1 on error [Patrick Van der Veken]
|
# @(#) 2017-06-08: return 1 on error [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -35,7 +36,7 @@ function check_hpux_hpvm_vpar_status
|
|||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _HPVMSTATUS_BIN="/opt/hpvm/bin/hpvmstatus"
|
typeset _HPVMSTATUS_BIN="/opt/hpvm/bin/hpvmstatus"
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -88,8 +89,8 @@ grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _PAR_ENTRY
|
|||||||
do
|
do
|
||||||
# field split
|
# field split
|
||||||
_PAR_ID=$(print "${_PAR_ENTRY}" | cut -f1 -d';')
|
_PAR_ID=$(print "${_PAR_ENTRY}" | cut -f1 -d';')
|
||||||
_PAR_CFG_STATUS=$(data_lc $(print "${_PAR_ENTRY}" | cut -f2 -d';'))
|
_PAR_CFG_STATUS=$(data_lc "$(print \"${_PAR_ENTRY}\" | cut -f2 -d';')")
|
||||||
_PAR_CFG_BOOT=$(data_lc $(print "${_PAR_ENTRY}" | cut -f3 -d';'))
|
_PAR_CFG_BOOT=$(data_lc "$(print \"${_PAR_ENTRY}\" | cut -f3 -d';')")
|
||||||
|
|
||||||
# check configuration
|
# check configuration
|
||||||
case "${_PAR_ID}" in
|
case "${_PAR_ID}" in
|
||||||
@ -126,16 +127,16 @@ grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _PAR_ENTRY
|
|||||||
do
|
do
|
||||||
# field split
|
# field split
|
||||||
_PAR_ID=$(print "${_PAR_ENTRY}" | cut -f1 -d';')
|
_PAR_ID=$(print "${_PAR_ENTRY}" | cut -f1 -d';')
|
||||||
_PAR_CFG_STATUS=$(data_lc $(print "${_PAR_ENTRY}" | cut -f2 -d';'))
|
_PAR_CFG_STATUS=$(data_lc "$(print \"${_PAR_ENTRY}\" | cut -f2 -d';')")
|
||||||
_PAR_CFG_BOOT=$(data_lc $(print "${_PAR_ENTRY}" | cut -f3 -d';'))
|
_PAR_CFG_BOOT=$(data_lc "$(print \"${_PAR_ENTRY}\" | cut -f3 -d';')")
|
||||||
|
|
||||||
# check run-time values (we need to make the needle sufficiently less greedy)
|
# check run-time values (we need to make the needle sufficiently less greedy)
|
||||||
_PAR_MATCH=$(grep -i "^.*:.*:${_PAR_ID}::Integrity" ${HC_STDOUT_LOG} 2>/dev/null)
|
_PAR_MATCH=$(grep -i "^.*:.*:${_PAR_ID}::Integrity" ${HC_STDOUT_LOG} 2>/dev/null)
|
||||||
if [[ -n "${_PAR_MATCH}" ]]
|
if [[ -n "${_PAR_MATCH}" ]]
|
||||||
then
|
then
|
||||||
# field split
|
# field split
|
||||||
_PAR_RUN_STATUS=$(data_lc $(print "${_PAR_MATCH}" | cut -f11 -d':'))
|
_PAR_RUN_STATUS=$(data_lc "$(print \"${_PAR_MATCH}\" | cut -f11 -d':')")
|
||||||
_PAR_RUN_BOOT=$(data_lc $(print "${_PAR_MATCH}" | cut -f12 -d':'))
|
_PAR_RUN_BOOT=$(data_lc "$(print \"${_PAR_MATCH}\" | cut -f12 -d':')")
|
||||||
|
|
||||||
if [[ "${_PAR_RUN_STATUS}" = "${_PAR_CFG_STATUS}" ]]
|
if [[ "${_PAR_RUN_STATUS}" = "${_PAR_CFG_STATUS}" ]]
|
||||||
then
|
then
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#
|
#
|
||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-04-23: initial version [Patrick Van der Veken]
|
# @(#) 2017-04-23: initial version [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -32,7 +33,7 @@ function check_hpux_httpd_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _HTTPD_PID_FILE="/var/run/httpd/httpd.pid"
|
typeset _HTTPD_PID_FILE="/var/run/httpd/httpd.pid"
|
||||||
typeset _VERSION="2017-04-23" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -41,7 +42,7 @@ typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
|||||||
init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
||||||
typeset _ARGS=$(data_space2comma "$*")
|
typeset _ARGS=$(data_space2comma "$*")
|
||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _HTTPD_CHECKCONF_BIN=""
|
typeset _HTTPD_BIN=""
|
||||||
typeset _HTTPD_PID=""
|
typeset _HTTPD_PID=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
@ -65,7 +66,7 @@ then
|
|||||||
if [[ -n "${_HTTPD_PID}" ]]
|
if [[ -n "${_HTTPD_PID}" ]]
|
||||||
then
|
then
|
||||||
# get PID list without heading
|
# get PID list without heading
|
||||||
(( $(UNIX95= ps -o pid= -p ${_HTTPD_PID}| wc -l) == 0 )) && _STC=1
|
(( $(UNIX95='' ps -o pid= -p ${_HTTPD_PID}| wc -l) == 0 )) && _STC=1
|
||||||
else
|
else
|
||||||
# not running
|
# not running
|
||||||
_RC=1
|
_RC=1
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
# @(#) 2016-05-26: added a simple exclusion list for hosts as configurable
|
# @(#) 2016-05-26: added a simple exclusion list for hosts as configurable
|
||||||
# @(#) parameter [Patrick Van der Veken]
|
# @(#) parameter [Patrick Van der Veken]
|
||||||
# @(#) 2016-06-03: small fix [Patrick Van der Veken]
|
# @(#) 2016-06-03: small fix [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -37,7 +38,7 @@ function check_hpux_ignite_backup
|
|||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
# backup DONE identifier
|
# backup DONE identifier
|
||||||
typeset _IGNITE_NEEDLE="^DONE"
|
typeset _IGNITE_NEEDLE="^DONE"
|
||||||
typeset _VERSION="2016-06-03" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -92,7 +93,16 @@ _EXCLUDE_HOSTS=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'exc
|
|||||||
if [[ -d /var/opt/ignite/clients ]]
|
if [[ -d /var/opt/ignite/clients ]]
|
||||||
then
|
then
|
||||||
_OLD_PWD="$(pwd)"
|
_OLD_PWD="$(pwd)"
|
||||||
|
# shellcheck disable=SC2164
|
||||||
cd /var/opt/ignite/clients
|
cd /var/opt/ignite/clients
|
||||||
|
if (( $? > 0 ))
|
||||||
|
then
|
||||||
|
_MSG="unable to run command: cd /var/opt/ignite/clients"
|
||||||
|
log_hc "$0" 1 "${_MSG}"
|
||||||
|
# dump debug info
|
||||||
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
# check backup states
|
# check backup states
|
||||||
find * -prune -type l | while read _IGNITE_HOST
|
find * -prune -type l | while read _IGNITE_HOST
|
||||||
@ -168,7 +178,16 @@ then
|
|||||||
_STC=0
|
_STC=0
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# shellcheck disable=SC2164
|
||||||
cd "${_OLD_PWD}"
|
cd "${_OLD_PWD}"
|
||||||
|
if (( $? > 0 ))
|
||||||
|
then
|
||||||
|
_MSG="unable to run command: cd /var/opt/ignite/clients"
|
||||||
|
log_hc "$0" 1 "${_MSG}"
|
||||||
|
# dump debug info
|
||||||
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
_MSG="Host is not an Ignite/UX server"
|
_MSG="Host is not an Ignite/UX server"
|
||||||
log_hc "$0" ${_STC} "${_MSG}"
|
log_hc "$0" ${_STC} "${_MSG}"
|
||||||
@ -187,7 +206,7 @@ CONFIG : $3 with:
|
|||||||
backup_age=<days_till_last_backup>
|
backup_age=<days_till_last_backup>
|
||||||
PURPOSE : Checks the state and age of saved Ignite-UX client backups (should only be
|
PURPOSE : Checks the state and age of saved Ignite-UX client backups (should only be
|
||||||
run only on the Ignite-UX server). Backups with warnings are considered
|
run only on the Ignite-UX server). Backups with warnings are considered
|
||||||
to OK. Backups older than $backup_age will not pass the health check.
|
to OK. Backups older than \$backup_age will not pass the health check.
|
||||||
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-11: small optimizations [Patrick Van der Veken]
|
# @(#) 2018-05-11: small optimizations [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -40,7 +41,7 @@ function check_hpux_ioscan
|
|||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _IOSCAN_BIN="/usr/sbin/ioscan"
|
typeset _IOSCAN_BIN="/usr/sbin/ioscan"
|
||||||
typeset _IOSCAN_OPTS="-Fn"
|
typeset _IOSCAN_OPTS="-Fn"
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-08-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -86,7 +87,7 @@ then
|
|||||||
_IOSCAN_CLASSES="ctl|diag|disk|ext_bus|fc|fcp|i2o|ipmi|lan|lvm|olar|vm"
|
_IOSCAN_CLASSES="ctl|diag|disk|ext_bus|fc|fcp|i2o|ipmi|lan|lvm|olar|vm"
|
||||||
else
|
else
|
||||||
# convert commas and strip quotes
|
# convert commas and strip quotes
|
||||||
_IOSCAN_CLASSES=$(data_comma2pipe $(data_dequote "${_CLASS_LINE}"))
|
_IOSCAN_CLASSES=$(data_comma2pipe "$(data_dequote \"${_CLASS_LINE}\")")
|
||||||
fi
|
fi
|
||||||
_KERNEL_MODE=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'kernel_mode')
|
_KERNEL_MODE=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'kernel_mode')
|
||||||
if [[ -z "${_KERNEL_MODE}" ]]
|
if [[ -z "${_KERNEL_MODE}" ]]
|
||||||
@ -132,7 +133,7 @@ else
|
|||||||
log_hc "$0" 1 "${_MSG}"
|
log_hc "$0" 1 "${_MSG}"
|
||||||
# dump debug info
|
# dump debug info
|
||||||
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
|
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
|
||||||
return 0
|
return 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
# @(#) 2017-12-22: original version [Patrick Van der Veken]
|
# @(#) 2017-12-22: original version [Patrick Van der Veken]
|
||||||
# @(#) 2018-01-05: added validation on config values [Patrick Van der Veken]
|
# @(#) 2018-01-05: added validation on config values [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -35,7 +36,7 @@ function check_hpux_kernel_params
|
|||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _KCTUNE_BIN="/usr/sbin/kctune"
|
typeset _KCTUNE_BIN="/usr/sbin/kctune"
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -51,7 +52,6 @@ typeset _CONFIG_VALUE=""
|
|||||||
typeset _CURR_VALUE=""
|
typeset _CURR_VALUE=""
|
||||||
typeset _EXPR_VALUE=""
|
typeset _EXPR_VALUE=""
|
||||||
typeset _REPORTED_VALUE=""
|
typeset _REPORTED_VALUE=""
|
||||||
typeset _DUMMY=""
|
|
||||||
typeset _FOUND_PARAM=0
|
typeset _FOUND_PARAM=0
|
||||||
typeset _LINE_COUNT=1
|
typeset _LINE_COUNT=1
|
||||||
|
|
||||||
@ -92,7 +92,7 @@ fi
|
|||||||
|
|
||||||
# check configuration values
|
# check configuration values
|
||||||
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
|
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
|
||||||
do
|
do
|
||||||
# check for empties
|
# check for empties
|
||||||
if [[ -z "${_PARAM_NAME}" || -z "${_CONFIG_VALUE}" ]]
|
if [[ -z "${_PARAM_NAME}" || -z "${_CONFIG_VALUE}" ]]
|
||||||
@ -112,7 +112,7 @@ done
|
|||||||
|
|
||||||
# perform checks
|
# perform checks
|
||||||
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
|
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
|
||||||
do
|
do
|
||||||
# check for actual values and expression values
|
# check for actual values and expression values
|
||||||
_CURR_VALUE=$(grep -E -e "^${_PARAM_NAME}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null | awk '{ print $2 }')
|
_CURR_VALUE=$(grep -E -e "^${_PARAM_NAME}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null | awk '{ print $2 }')
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
# @(#) 2018-01-08: extra config checks [Patrick Van der Veken]
|
# @(#) 2018-01-08: extra config checks [Patrick Van der Veken]
|
||||||
# @(#) 2018-01-09: bug fix [Patrick Van der Veken]
|
# @(#) 2018-01-09: bug fix [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -36,7 +37,7 @@ function check_hpux_kernel_usage
|
|||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _KCUSAGE_BIN="/usr/sbin/kcusage"
|
typeset _KCUSAGE_BIN="/usr/sbin/kcusage"
|
||||||
typeset _VERSION="2018-05-20" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -58,7 +59,6 @@ typeset _CURR_VALUE=""
|
|||||||
typeset _FOUND_PARAM=0
|
typeset _FOUND_PARAM=0
|
||||||
typeset _KCUSAGE_LINE=""
|
typeset _KCUSAGE_LINE=""
|
||||||
typeset _LINE_COUNT=1
|
typeset _LINE_COUNT=1
|
||||||
typeset _DUMMY=""
|
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
for _ARG in ${_ARGS}
|
for _ARG in ${_ARGS}
|
||||||
@ -82,7 +82,7 @@ _MAX_KCUSAGE=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'max_k
|
|||||||
if [[ -z "${_MAX_KCUSAGE}" ]]
|
if [[ -z "${_MAX_KCUSAGE}" ]]
|
||||||
then
|
then
|
||||||
# default
|
# default
|
||||||
_IGNORE_FS=90
|
_MAX_KCUSAGE=90
|
||||||
fi
|
fi
|
||||||
_EXCLUDED_PARAMS=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'exclude_params')
|
_EXCLUDED_PARAMS=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'exclude_params')
|
||||||
if [[ -n "${_EXCLUDED_PARAMS}" ]]
|
if [[ -n "${_EXCLUDED_PARAMS}" ]]
|
||||||
@ -109,7 +109,7 @@ fi
|
|||||||
|
|
||||||
# check configuration values
|
# check configuration values
|
||||||
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
|
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
|
||||||
do
|
do
|
||||||
# check for empties
|
# check for empties
|
||||||
if [[ -z "${_PARAM_NAME}" || -z "${_CONFIG_VALUE}" ]]
|
if [[ -z "${_PARAM_NAME}" || -z "${_CONFIG_VALUE}" ]]
|
||||||
@ -145,7 +145,7 @@ done
|
|||||||
|
|
||||||
# 1) perform checks (first the invidually configured ones)
|
# 1) perform checks (first the invidually configured ones)
|
||||||
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
|
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
|
||||||
do
|
do
|
||||||
# check for actual values and ceilings
|
# check for actual values and ceilings
|
||||||
_CURR_VALUE=$(grep -E -e "^${_PARAM_NAME}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null | awk '{ print $2 }')
|
_CURR_VALUE=$(grep -E -e "^${_PARAM_NAME}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null | awk '{ print $2 }')
|
||||||
|
@ -51,13 +51,12 @@ typeset _STC=0
|
|||||||
typeset _LOG_HEALTHY=0
|
typeset _LOG_HEALTHY=0
|
||||||
typeset _TMP1_FILE="${TMP_DIR}/.$0.ioscan_tmp.$$"
|
typeset _TMP1_FILE="${TMP_DIR}/.$0.ioscan_tmp.$$"
|
||||||
typeset _TMP2_FILE="${TMP_DIR}/.$0.scsimgr_tmp.$$"
|
typeset _TMP2_FILE="${TMP_DIR}/.$0.scsimgr_tmp.$$"
|
||||||
typeset _IOSCAN_LINE=""
|
|
||||||
typeset _SCSIMGR_LINE=""
|
|
||||||
typeset _HW_PATH=""
|
typeset _HW_PATH=""
|
||||||
typeset _ACTIVE_PATH_COUNT=""
|
typeset _ACTIVE_PATH_COUNT=""
|
||||||
typeset _ALL_PATH_COUNT=""
|
typeset _ALL_PATH_COUNT=""
|
||||||
typeset _FAILED_PATH_COUNT=""
|
typeset _FAILED_PATH_COUNT=""
|
||||||
typeset _STANDBY_PATH_COUNT=""
|
typeset _STANDBY_PATH_COUNT=""
|
||||||
|
typeset _WWID=""
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
for _ARG in ${_ARGS}
|
for _ARG in ${_ARGS}
|
||||||
@ -84,9 +83,11 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
return 0" 0
|
return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
return 1" 1 2 3 15
|
return 1" 1 2 3 15
|
||||||
@ -104,11 +105,13 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# check TMP_FILEs
|
# check TMP_FILEs
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP1_FILE}
|
>${_TMP1_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP1_FILE}"
|
warn "failed to create temporary file at ${_TMP1_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP2_FILE}
|
>${_TMP2_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP2_FILE}"
|
warn "failed to create temporary file at ${_TMP2_FILE}"
|
||||||
|
@ -65,7 +65,7 @@ then
|
|||||||
if [[ -n "${_NAMED_PID}" ]]
|
if [[ -n "${_NAMED_PID}" ]]
|
||||||
then
|
then
|
||||||
# get PID list without heading
|
# get PID list without heading
|
||||||
(( $(UNIX95= ps -o pid= -p ${_NAMED_PID}| wc -l) == 0 )) && _STC=1
|
(( $(UNIX95='' ps -o pid= -p ${_NAMED_PID}| wc -l) == 0 )) && _STC=1
|
||||||
else
|
else
|
||||||
# not running
|
# not running
|
||||||
_RC=1
|
_RC=1
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2016-12-01: initial version [Patrick Van der Veken]
|
# @(#) 2016-12-01: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2016-12-29: added threshold & config file [Patrick Van der Veken]
|
# @(#) 2016-12-29: added threshold & config file [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
@ -33,7 +34,7 @@ function check_hpux_ntp_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2016-12-29" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
typeset _NTPQ_BIN="/usr/sbin/ntpq"
|
typeset _NTPQ_BIN="/usr/sbin/ntpq"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -124,7 +125,7 @@ then
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# not numeric
|
# not numeric
|
||||||
warn "invalid offset value of ${_CURR_OFFSET} found for ${NTP_PEER}?"
|
warn "invalid offset value of ${_CURR_OFFSET} found for ${_NTP_PEER}?"
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
# @(#) 2018-07-10: added log_healthy hc_arg [Patrick Van der Veken]
|
# @(#) 2018-07-10: added log_healthy hc_arg [Patrick Van der Veken]
|
||||||
# @(#) 2018-08-30: added config file + check list for daemons [Patrick Van der Veken]
|
# @(#) 2018-08-30: added config file + check list for daemons [Patrick Van der Veken]
|
||||||
# @(#) 2018-10-22: small fixes [Patrick Van der Veken]
|
# @(#) 2018-10-22: small fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -36,7 +37,7 @@ function check_hpux_ovpa_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-10-22" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
typeset _OVPA_BIN="/opt/perf/bin/perfstat"
|
typeset _OVPA_BIN="/opt/perf/bin/perfstat"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -90,7 +91,7 @@ then
|
|||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
# convert commas and strip quotes
|
# convert commas and strip quotes
|
||||||
_OVPA_DAEMONS=$(data_comma2space $(data_dequote "${_OVPA_DAEMONS}"))
|
_OVPA_DAEMONS=$(data_comma2space "$(data_dequote \"${_OVPA_DAEMONS}\")")
|
||||||
fi
|
fi
|
||||||
log "will check daemons: ${_OVPA_DAEMONS}"
|
log "will check daemons: ${_OVPA_DAEMONS}"
|
||||||
_CFG_HEALTHY=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'log_healthy')
|
_CFG_HEALTHY=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'log_healthy')
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
# @(#) 2018-05-11: initial version [Patrick Van der Veken]
|
# @(#) 2018-05-11: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
# @(#) 2018-10-22: added check on fileset state [Patrick Van der Veken]
|
# @(#) 2018-10-22: added check on fileset state [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -39,7 +40,7 @@ typeset _SWLIST_BIN="/usr/sbin/swlist"
|
|||||||
typeset _SWLIST_OPTS=""
|
typeset _SWLIST_OPTS=""
|
||||||
typeset _SHOW_PATCHES_BIN="/usr/contrib/bin/show_patches"
|
typeset _SHOW_PATCHES_BIN="/usr/contrib/bin/show_patches"
|
||||||
typeset _SHOW_PATCHES_OPTS=""
|
typeset _SHOW_PATCHES_OPTS=""
|
||||||
typeset _VERSION="2018-10-22" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -49,7 +50,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _ARGS=$(data_space2comma "$*")
|
typeset _ARGS=$(data_space2comma "$*")
|
||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
|
||||||
typeset _CFG_HEALTHY=""
|
typeset _CFG_HEALTHY=""
|
||||||
typeset _LOG_HEALTHY=0
|
typeset _LOG_HEALTHY=0
|
||||||
typeset _OE_VERSION=""
|
typeset _OE_VERSION=""
|
||||||
@ -83,7 +83,7 @@ _PATCH_LINE=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'requir
|
|||||||
if [[ -n "${_PATCH_LINE}" ]]
|
if [[ -n "${_PATCH_LINE}" ]]
|
||||||
then
|
then
|
||||||
# convert commas and strip quotes
|
# convert commas and strip quotes
|
||||||
_PATCHES=$(data_comma2space $(data_dequote "${_PATCH_LINE}"))
|
_PATCHES=$(data_comma2space "$(data_dequote \"${_PATCH_LINE}\")")
|
||||||
fi
|
fi
|
||||||
if [[ -z "${_CHECK_FILESETS}" ]]
|
if [[ -z "${_CHECK_FILESETS}" ]]
|
||||||
then
|
then
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2016-03-08: initial version [Patrick Van der Veken]
|
# @(#) 2016-03-08: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_hpux_sg_cluster_config
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2016-12-01" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
||||||
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
||||||
@ -58,7 +59,9 @@ typeset _CLUSTER_PARAM=""
|
|||||||
typeset _CLUSTER_VALUE=""
|
typeset _CLUSTER_VALUE=""
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -165,9 +168,6 @@ do
|
|||||||
done <${_CLUSTER_CFG_FILE}.${_CLUSTER_INSTANCE}
|
done <${_CLUSTER_CFG_FILE}.${_CLUSTER_INSTANCE}
|
||||||
done
|
done
|
||||||
|
|
||||||
# remove working files
|
|
||||||
rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
||||||
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -35,7 +36,7 @@ function check_hpux_sg_cluster_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2017-05-07" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -50,7 +51,6 @@ typeset _STC=0
|
|||||||
typeset _SG_ENTRY=""
|
typeset _SG_ENTRY=""
|
||||||
typeset _SG_MATCH=""
|
typeset _SG_MATCH=""
|
||||||
typeset _SG_CFG_PARAM=""
|
typeset _SG_CFG_PARAM=""
|
||||||
typeset _SG_RUN_PARAM=""
|
|
||||||
typeset _SG_CFG_VALUE=""
|
typeset _SG_CFG_VALUE=""
|
||||||
typeset _SG_RUN_VALUE=""
|
typeset _SG_RUN_VALUE=""
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2016-03-08: initial version [Patrick Van der Veken]
|
# @(#) 2016-03-08: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_hpux_sg_package_config
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2016-12-01" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
||||||
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
||||||
@ -68,7 +69,9 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle configuration file
|
# handle configuration file
|
||||||
@ -165,9 +168,6 @@ do
|
|||||||
done <${_PKG_CFG_FILE}.${_PKG_INSTANCE}
|
done <${_PKG_CFG_FILE}.${_PKG_INSTANCE}
|
||||||
done
|
done
|
||||||
|
|
||||||
# remove working files
|
|
||||||
rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
|
||||||
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -35,7 +36,7 @@ function check_hpux_sg_package_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2017-07-05" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
typeset _SG_DAEMON="/usr/lbin/cmcld"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -51,7 +52,6 @@ typeset _SG_ENTRY=""
|
|||||||
typeset _SG_MATCH=""
|
typeset _SG_MATCH=""
|
||||||
typeset _SG_PACKAGE=""
|
typeset _SG_PACKAGE=""
|
||||||
typeset _SG_CFG_PARAM=""
|
typeset _SG_CFG_PARAM=""
|
||||||
typeset _SG_RUN_PARAM=""
|
|
||||||
typeset _SG_CFG_VALUE=""
|
typeset _SG_CFG_VALUE=""
|
||||||
typeset _SG_RUN_VALUE=""
|
typeset _SG_RUN_VALUE=""
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#
|
#
|
||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-05-01: initial version [Patrick Van der Veken]
|
# @(#) 2017-05-01: initial version [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -31,7 +32,7 @@
|
|||||||
function check_hpux_sg_qs_status
|
function check_hpux_sg_qs_status
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2017-05-01" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
typeset _QS_BIN="/usr/lbin/qsc"
|
typeset _QS_BIN="/usr/lbin/qsc"
|
||||||
typeset _QS_AUTH_FILE="/etc/cmcluster/qs_authfile"
|
typeset _QS_AUTH_FILE="/etc/cmcluster/qs_authfile"
|
||||||
@ -44,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
|
|||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
typeset _RC=0
|
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
for _ARG in ${_ARGS}
|
for _ARG in ${_ARGS}
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
#
|
#
|
||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-04-01: initial version [Patrick Van der Veken]
|
# @(#) 2017-04-01: initial version [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -32,7 +33,7 @@ function check_hpux_sshd_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _SSHD_PID_FILE="/var/run/sshd/sshd.pid"
|
typeset _SSHD_PID_FILE="/var/run/sshd/sshd.pid"
|
||||||
typeset _VERSION="2017-04-01" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -64,7 +65,7 @@ then
|
|||||||
if [[ -n "${_SSHD_PID}" ]]
|
if [[ -n "${_SSHD_PID}" ]]
|
||||||
then
|
then
|
||||||
# get PID list without heading
|
# get PID list without heading
|
||||||
(( $(UNIX95= ps -o pid= -p ${_SSHD_PID}| wc -l) == 0 )) && _STC=1
|
(( $(UNIX95='' ps -o pid= -p ${_SSHD_PID}| wc -l) == 0 )) && _STC=1
|
||||||
else
|
else
|
||||||
# not running
|
# not running
|
||||||
_RC=1
|
_RC=1
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2016-06-20: initial version [Patrick Van der Veken]
|
# @(#) 2016-06-20: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2017-05-18: do not update the state file with --no-log [Patrick Van der Veken]
|
# @(#) 2017-05-18: do not update the state file with --no-log [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -34,7 +35,7 @@ function check_hpux_syslog
|
|||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _STATE_FILE="${STATE_PERM_DIR}/discovered.syslog"
|
typeset _STATE_FILE="${STATE_PERM_DIR}/discovered.syslog"
|
||||||
typeset _VERSION="2017-05-18" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -62,7 +63,9 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle configuration file
|
# handle configuration file
|
||||||
@ -144,9 +147,6 @@ fi
|
|||||||
# handle results
|
# handle results
|
||||||
log_hc "$0" ${_STC} "${_MSG}"
|
log_hc "$0" ${_STC} "${_MSG}"
|
||||||
|
|
||||||
# clean up temporary files
|
|
||||||
[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
# @(#) 2016-12-01: initial version [Patrick Van der Veken]
|
# @(#) 2016-12-01: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
# @(#) 2018-08-25: support for burp v2 [Patrick Van der Veken]
|
# @(#) 2018-08-25: support for burp v2 [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -38,7 +39,7 @@ function check_linux_burp_backup
|
|||||||
typeset _BURP_SERVER_CONFIG_FILE="/etc/burp/burp-server.conf"
|
typeset _BURP_SERVER_CONFIG_FILE="/etc/burp/burp-server.conf"
|
||||||
typeset _BURP_CLIENT_CONFIG_FILE="/etc/burp/burp.conf"
|
typeset _BURP_CLIENT_CONFIG_FILE="/etc/burp/burp.conf"
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-08-25" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -156,7 +157,7 @@ do
|
|||||||
typeset _MIN_BACKUP_TIME=""
|
typeset _MIN_BACKUP_TIME=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
|
|
||||||
if [[ -n "{_BURP_CLIENT}" ]] && [[ -n "{_BURP_WARNINGS}" ]] && [[ -n "${_BURP_AGE}" ]]
|
if [[ -n "${_BURP_CLIENT}" ]] && [[ -n "${_BURP_WARNINGS}" ]] && [[ -n "${_BURP_AGE}" ]]
|
||||||
then
|
then
|
||||||
# convert backup aging (UNIX seconds)
|
# convert backup aging (UNIX seconds)
|
||||||
case "${_BURP_AGE}" in
|
case "${_BURP_AGE}" in
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2013-05-27: initial version [Patrick Van der Veken]
|
# @(#) 2013-05-27: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_linux_file_age
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -45,7 +46,7 @@ typeset _ARG=""
|
|||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
typeset _ENTRY=""
|
typeset _ENTRY=""
|
||||||
typeset _AGE_CHECK==""
|
typeset _AGE_CHECK=""
|
||||||
typeset _FILE_PATH=""
|
typeset _FILE_PATH=""
|
||||||
typeset _FILE_AGE=""
|
typeset _FILE_AGE=""
|
||||||
typeset _FILE_NAME=""
|
typeset _FILE_NAME=""
|
||||||
@ -81,7 +82,7 @@ do
|
|||||||
_FILE_DIR=$(print "${_FILE_PATH%/*}")
|
_FILE_DIR=$(print "${_FILE_PATH%/*}")
|
||||||
|
|
||||||
# check config
|
# check config
|
||||||
if [ \( -z "${_FILE_PATH}" \) -a \( -z "${_FILE_AGE}" \) ]
|
if [[ -z "${_FILE_PATH}" ]] && [[ -z "${_FILE_AGE}" ]]
|
||||||
then
|
then
|
||||||
warn "missing values in configuration file at ${_CONFIG_FILE}"
|
warn "missing values in configuration file at ${_CONFIG_FILE}"
|
||||||
return 1
|
return 1
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
# @(#) 2017-05-18: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -34,7 +35,7 @@ function check_linux_file_change
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -45,7 +46,6 @@ typeset _ARGS=$(data_space2comma "$*")
|
|||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
typeset _STC_COUNT=0
|
|
||||||
typeset _DO_META_CHECK=0
|
typeset _DO_META_CHECK=0
|
||||||
typeset _CFG_STATE_FILE=""
|
typeset _CFG_STATE_FILE=""
|
||||||
typeset _STATE_FILE=""
|
typeset _STATE_FILE=""
|
||||||
@ -66,11 +66,13 @@ typeset _TMP_EXCL_FILE="${TMP_DIR}/.$0.tmp_excl.$$"
|
|||||||
set -o noglob # no file globbing
|
set -o noglob # no file globbing
|
||||||
|
|
||||||
# set local trap for clean-up
|
# set local trap for clean-up
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1;
|
||||||
return 0" 0
|
return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1;
|
||||||
@ -134,6 +136,7 @@ fi
|
|||||||
|
|
||||||
# check state file & TMP_FILEs
|
# check state file & TMP_FILEs
|
||||||
[[ -r ${_STATE_FILE} ]] || {
|
[[ -r ${_STATE_FILE} ]] || {
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_STATE_FILE}
|
>${_STATE_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create new state file at ${_STATE_FILE}"
|
warn "failed to create new state file at ${_STATE_FILE}"
|
||||||
@ -141,21 +144,25 @@ fi
|
|||||||
}
|
}
|
||||||
log "created new state file at ${_STATE_FILE}"
|
log "created new state file at ${_STATE_FILE}"
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP_INCL_FILE}
|
>${_TMP_INCL_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
|
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP_EXCL_FILE}
|
>${_TMP_EXCL_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
|
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP1_FILE}
|
>${_TMP1_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP1_FILE}"
|
warn "failed to create temporary file at ${_TMP1_FILE}"
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
# shellcheck disable=SC2188
|
||||||
>${_TMP2_FILE}
|
>${_TMP2_FILE}
|
||||||
(( $? > 0 )) && {
|
(( $? > 0 )) && {
|
||||||
warn "failed to create temporary file at ${_TMP2_FILE}"
|
warn "failed to create temporary file at ${_TMP2_FILE}"
|
||||||
@ -164,7 +171,7 @@ fi
|
|||||||
|
|
||||||
# build list of configured objects: inclusion
|
# build list of configured objects: inclusion
|
||||||
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _INCL_OBJECT
|
while IFS=':' read _ _INCL_OBJECT
|
||||||
do
|
do
|
||||||
# check for meta & globbing characters (*?[]{}|)
|
# check for meta & globbing characters (*?[]{}|)
|
||||||
if (( _DO_META_CHECK == 1 ))
|
if (( _DO_META_CHECK == 1 ))
|
||||||
@ -188,7 +195,7 @@ done
|
|||||||
|
|
||||||
# build list of configured objects: exclusion
|
# build list of configured objects: exclusion
|
||||||
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=':' read _DUMMY _EXCL_OBJECT
|
while IFS=':' read _ _EXCL_OBJECT
|
||||||
do
|
do
|
||||||
# check for meta & globbing characters (*?[]{}|)
|
# check for meta & globbing characters (*?[]{}|)
|
||||||
if (( _DO_META_CHECK == 1 ))
|
if (( _DO_META_CHECK == 1 ))
|
||||||
@ -338,12 +345,6 @@ then
|
|||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# clean up temporary files
|
|
||||||
[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP_INCL_FILE} ]] && rm -f ${_TMP_INCL_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP_EXCL_FILE} ]] && rm -f ${_TMP_EXCL_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2013-09-09: initial version [Patrick Van der Veken]
|
# @(#) 2013-09-09: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_linux_hpacucli
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -43,7 +44,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _ARGS=$(data_space2comma "$*")
|
typeset _ARGS=$(data_space2comma "$*")
|
||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
|
||||||
typeset _STC_COUNT=0
|
typeset _STC_COUNT=0
|
||||||
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
|
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
|
||||||
typeset _HPACUCLI_BIN=""
|
typeset _HPACUCLI_BIN=""
|
||||||
@ -57,7 +57,9 @@ typeset _DO_ACU_LOGL=1
|
|||||||
typeset _DO_CHECK=0
|
typeset _DO_CHECK=0
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -262,9 +264,6 @@ then
|
|||||||
log_hc "$0" 0 "${_MSG}"
|
log_hc "$0" 0 "${_MSG}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# remove temporary file
|
|
||||||
[[ -f ${_TMP_FILE} ]] & rm -f ${_TMP_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,6 +25,7 @@
|
|||||||
# @(#) 2013-09-07: initial version [Patrick Van der Veken]
|
# @(#) 2013-09-07: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2017-04-06: bugfix in temperature checking [Patrick Van der Veken]
|
# @(#) 2017-04-06: bugfix in temperature checking [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -34,7 +35,7 @@ function check_linux_hpasmcli
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -44,7 +45,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _ARGS=$(data_space2comma "$*")
|
typeset _ARGS=$(data_space2comma "$*")
|
||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
|
||||||
typeset _STC_COUNT=0
|
typeset _STC_COUNT=0
|
||||||
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
|
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
|
||||||
typeset _HPASMCLI_BIN=""
|
typeset _HPASMCLI_BIN=""
|
||||||
@ -62,7 +62,9 @@ typeset _THRES_VALUE=""
|
|||||||
typeset _TEMP_UNIT=""
|
typeset _TEMP_UNIT=""
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -273,9 +275,6 @@ then
|
|||||||
log_hc "$0" 0 "${_MSG}"
|
log_hc "$0" 0 "${_MSG}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# remove temporary file
|
|
||||||
[[ -f ${_TMP_FILE} ]] & rm -f ${_TMP_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-04-22: initial version [Patrick Van der Veken]
|
# @(#) 2017-04-22: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: added dump_logs() & STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: added dump_logs() & STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -34,7 +35,7 @@ function check_linux_hplog
|
|||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _STATE_FILE="${STATE_PERM_DIR}/discovered.hplog"
|
typeset _STATE_FILE="${STATE_PERM_DIR}/discovered.hplog"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -55,9 +56,11 @@ typeset _SEVERITY_ENTRY=""
|
|||||||
typeset _EVENT_ENTRY=""
|
typeset _EVENT_ENTRY=""
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
||||||
return 0" 0
|
return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
||||||
return 1" 1 2 3 15
|
return 1" 1 2 3 15
|
||||||
@ -159,10 +162,6 @@ else
|
|||||||
fi
|
fi
|
||||||
log_hc "$0" ${_STC} "${_MSG}"
|
log_hc "$0" ${_STC} "${_MSG}"
|
||||||
|
|
||||||
# clean up temporary files
|
|
||||||
[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
|
|
||||||
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2016-04-01: initial version [Patrick Van der Veken]
|
# @(#) 2016-04-01: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_linux_hpssacli
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -43,7 +44,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _ARGS=$(data_space2comma "$*")
|
typeset _ARGS=$(data_space2comma "$*")
|
||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
|
||||||
typeset _STC_COUNT=0
|
typeset _STC_COUNT=0
|
||||||
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
|
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
|
||||||
typeset _HPSSACLI_BIN=""
|
typeset _HPSSACLI_BIN=""
|
||||||
@ -57,7 +57,9 @@ typeset _DO_SSA_LOGL=1
|
|||||||
typeset _DO_CHECK=0
|
typeset _DO_CHECK=0
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -262,9 +264,6 @@ then
|
|||||||
log_hc "$0" 0 "${_MSG}"
|
log_hc "$0" 0 "${_MSG}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# remove temporary file
|
|
||||||
[[ -f ${_TMP_FILE} ]] & rm -f ${_TMP_FILE} >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2018-03-20: initial version [Patrick Van der Veken]
|
# @(#) 2018-03-20: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR + other small fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR + other small fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
@ -35,7 +36,7 @@ function check_linux_ntp_status
|
|||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _NTPD_INIT_SCRIPT="/etc/init.d/ntpd"
|
typeset _NTPD_INIT_SCRIPT="/etc/init.d/ntpd"
|
||||||
typeset _NTPD_SYSTEMD_SERVICE="ntpd.service"
|
typeset _NTPD_SYSTEMD_SERVICE="ntpd.service"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
typeset _NTPQ_BIN="/usr/sbin/ntpq"
|
typeset _NTPQ_BIN="/usr/sbin/ntpq"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -78,6 +79,7 @@ fi
|
|||||||
|
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
# check ntp service
|
# check ntp service
|
||||||
|
# 1) try using the init ways
|
||||||
linux_get_init
|
linux_get_init
|
||||||
case "${LINUX_INIT}" in
|
case "${LINUX_INIT}" in
|
||||||
'systemd')
|
'systemd')
|
||||||
@ -105,6 +107,12 @@ case "${LINUX_INIT}" in
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# 2) try the pgrep way (note: old pgreps do not support '-c')
|
||||||
|
if (( _RC != 0 ))
|
||||||
|
then
|
||||||
|
(( $(pgrep -u root ntpd 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=1
|
||||||
|
fi
|
||||||
|
|
||||||
# evaluate results
|
# evaluate results
|
||||||
case ${_STC} in
|
case ${_STC} in
|
||||||
0)
|
0)
|
||||||
@ -167,7 +175,7 @@ then
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
# not numeric
|
# not numeric
|
||||||
warn "invalid offset value of ${_CURR_OFFSET} found for ${NTP_PEER}?"
|
warn "invalid offset value of ${_CURR_OFFSET} found for ${_NTP_PEER}?"
|
||||||
return 1
|
return 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2018-07-10: original version [Patrick Van der Veken]
|
# @(#) 2018-07-10: original version [Patrick Van der Veken]
|
||||||
# @(#) 2018-07-12: better log_healthy handling [Patrick Van der Veken]
|
# @(#) 2018-07-12: better log_healthy handling [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_linux_process_limits
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-07-12" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -43,8 +44,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
|
|||||||
typeset _ARGS=$(data_space2comma "$*")
|
typeset _ARGS=$(data_space2comma "$*")
|
||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
|
||||||
typeset _DUMMY=""
|
|
||||||
typeset _LINE_COUNT=1
|
typeset _LINE_COUNT=1
|
||||||
typeset _CFG_HEALTHY=""
|
typeset _CFG_HEALTHY=""
|
||||||
typeset _LOG_HEALTHY=0
|
typeset _LOG_HEALTHY=0
|
||||||
@ -66,7 +65,9 @@ typeset _USER_PS_PID=""
|
|||||||
typeset _USER_PS_COMM=""
|
typeset _USER_PS_COMM=""
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_INSTANCE_RUN_FILE}.* >/dev/null 2>&1; return 0" 0
|
trap "rm -f ${_INSTANCE_RUN_FILE}.* >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_INSTANCE_RUN_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "rm -f ${_INSTANCE_RUN_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -114,7 +115,7 @@ fi
|
|||||||
|
|
||||||
# check PROCESS stanzas
|
# check PROCESS stanzas
|
||||||
grep -i '^process' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^process' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=';' read _DUMMY _PROCESS _PROCESS_LIMIT _PROCESS_SOFT_THRESHOLD _PROCESS_HARD_THRESHOLD
|
while IFS=';' read _ _PROCESS _PROCESS_LIMIT _PROCESS_SOFT_THRESHOLD _PROCESS_HARD_THRESHOLD
|
||||||
do
|
do
|
||||||
# check for empties
|
# check for empties
|
||||||
if [[ -z "${_PROCESS}" || -z "${_PROCESS_LIMIT}" ]]
|
if [[ -z "${_PROCESS}" || -z "${_PROCESS_LIMIT}" ]]
|
||||||
@ -124,7 +125,7 @@ do
|
|||||||
fi
|
fi
|
||||||
if [[ -n "${_PROCESS_SOFT_THRESHOLD}" ]]
|
if [[ -n "${_PROCESS_SOFT_THRESHOLD}" ]]
|
||||||
then
|
then
|
||||||
$(data_is_numeric ${_PROCESS_SOFT_THRESHOLD})
|
data_is_numeric ${_PROCESS_SOFT_THRESHOLD}
|
||||||
if (( $? > 0 ))
|
if (( $? > 0 ))
|
||||||
then
|
then
|
||||||
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
||||||
@ -133,7 +134,7 @@ do
|
|||||||
fi
|
fi
|
||||||
if [[ -n "${_PROCESS_HARD_THRESHOLD}" ]]
|
if [[ -n "${_PROCESS_HARD_THRESHOLD}" ]]
|
||||||
then
|
then
|
||||||
$(data_is_numeric ${_PROCESS_HARD_THRESHOLD})
|
data_is_numeric ${_PROCESS_HARD_THRESHOLD}
|
||||||
if (( $? > 0 ))
|
if (( $? > 0 ))
|
||||||
then
|
then
|
||||||
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
||||||
@ -178,7 +179,7 @@ done
|
|||||||
# check USER stanzas
|
# check USER stanzas
|
||||||
_LINE_COUNT=0
|
_LINE_COUNT=0
|
||||||
grep -i '^user' ${_CONFIG_FILE} 2>/dev/null |\
|
grep -i '^user' ${_CONFIG_FILE} 2>/dev/null |\
|
||||||
while IFS=';' read _DUMMY _USER _USER_LIMIT _USER_SOFT_THRESHOLD _USER_HARD_THRESHOLD
|
while IFS=';' read _ _USER _USER_LIMIT _USER_SOFT_THRESHOLD _USER_HARD_THRESHOLD
|
||||||
do
|
do
|
||||||
# check for empties
|
# check for empties
|
||||||
if [[ -z "${_USER}" || -z "${_USER_LIMIT}" ]]
|
if [[ -z "${_USER}" || -z "${_USER_LIMIT}" ]]
|
||||||
@ -188,7 +189,7 @@ do
|
|||||||
fi
|
fi
|
||||||
if [[ -n "${_USER_SOFT_THRESHOLD}" ]]
|
if [[ -n "${_USER_SOFT_THRESHOLD}" ]]
|
||||||
then
|
then
|
||||||
$(data_is_numeric ${_USER_SOFT_THRESHOLD})
|
data_is_numeric ${_USER_SOFT_THRESHOLD}
|
||||||
if (( $? > 0 ))
|
if (( $? > 0 ))
|
||||||
then
|
then
|
||||||
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
||||||
@ -197,7 +198,7 @@ do
|
|||||||
fi
|
fi
|
||||||
if [[ -n "${_USER_HARD_THRESHOLD}" ]]
|
if [[ -n "${_USER_HARD_THRESHOLD}" ]]
|
||||||
then
|
then
|
||||||
$(data_is_numeric ${_USER_HARD_THRESHOLD})
|
data_is_numeric ${_USER_HARD_THRESHOLD}
|
||||||
if (( $? > 0 ))
|
if (( $? > 0 ))
|
||||||
then
|
then
|
||||||
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-04-01: initial version [Patrick Van der Veken]
|
# @(#) 2017-04-01: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: added dump_logs() & other fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: added dump_logs() & other fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_linux_sg_cluster_config
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
||||||
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
||||||
@ -59,7 +60,9 @@ typeset _CLUSTER_PARAM=""
|
|||||||
typeset _CLUSTER_VALUE=""
|
typeset _CLUSTER_VALUE=""
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -168,9 +171,6 @@ do
|
|||||||
done <${_CLUSTER_CFG_FILE}.${_CLUSTER_INSTANCE}
|
done <${_CLUSTER_CFG_FILE}.${_CLUSTER_INSTANCE}
|
||||||
done
|
done
|
||||||
|
|
||||||
# remove working files
|
|
||||||
rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -35,7 +36,7 @@ function check_linux_sg_cluster_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -51,7 +52,6 @@ typeset _STC=0
|
|||||||
typeset _SG_ENTRY=""
|
typeset _SG_ENTRY=""
|
||||||
typeset _SG_MATCH=""
|
typeset _SG_MATCH=""
|
||||||
typeset _SG_CFG_PARAM=""
|
typeset _SG_CFG_PARAM=""
|
||||||
typeset _SG_RUN_PARAM=""
|
|
||||||
typeset _SG_CFG_VALUE=""
|
typeset _SG_CFG_VALUE=""
|
||||||
typeset _SG_RUN_VALUE=""
|
typeset _SG_RUN_VALUE=""
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
# @(#) HISTORY:
|
# @(#) HISTORY:
|
||||||
# @(#) 2017-04-01: initial version [Patrick Van der Veken]
|
# @(#) 2017-04-01: initial version [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: added dump_logs() & other fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: added dump_logs() & other fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -33,7 +34,7 @@ function check_linux_sg_package_config
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
||||||
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
|
||||||
@ -59,7 +60,9 @@ typeset _PKG_PARAM=""
|
|||||||
typeset _PKG_VALUE=""
|
typeset _PKG_VALUE=""
|
||||||
|
|
||||||
# set local trap for cleanup
|
# set local trap for cleanup
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 0" 0
|
||||||
|
# shellcheck disable=SC2064
|
||||||
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
trap "rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1; return 1" 1 2 3 15
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
@ -168,9 +171,6 @@ do
|
|||||||
done <${_PKG_CFG_FILE}.${_PKG_INSTANCE}
|
done <${_PKG_CFG_FILE}.${_PKG_INSTANCE}
|
||||||
done
|
done
|
||||||
|
|
||||||
# remove working files
|
|
||||||
rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1
|
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@
|
|||||||
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
# @(#) 2017-05-07: made checks more detailed for log_hc() [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -35,7 +36,7 @@ function check_linux_sg_package_status
|
|||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
typeset _SG_DAEMON="/opt/cmcluster/bin/cmcld"
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
@ -52,7 +53,6 @@ typeset _SG_ENTRY=""
|
|||||||
typeset _SG_MATCH=""
|
typeset _SG_MATCH=""
|
||||||
typeset _SG_PACKAGE=""
|
typeset _SG_PACKAGE=""
|
||||||
typeset _SG_CFG_PARAM=""
|
typeset _SG_CFG_PARAM=""
|
||||||
typeset _SG_RUN_PARAM=""
|
|
||||||
typeset _SG_CFG_VALUE=""
|
typeset _SG_CFG_VALUE=""
|
||||||
typeset _SG_RUN_VALUE=""
|
typeset _SG_RUN_VALUE=""
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
function check_linux_sg_qs_status
|
function check_linux_sg_qs_status
|
||||||
{
|
{
|
||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
typeset _QS_BIN="/opt/qs/bin/qsc"
|
typeset _QS_BIN="/opt/qs/bin/qsc"
|
||||||
typeset _QS_AUTH_FILE="/opt/qs/conf/qs_authfile"
|
typeset _QS_AUTH_FILE="/opt/qs/conf/qs_authfile"
|
||||||
@ -45,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
|
|||||||
typeset _ARG=""
|
typeset _ARG=""
|
||||||
typeset _MSG=""
|
typeset _MSG=""
|
||||||
typeset _STC=0
|
typeset _STC=0
|
||||||
typeset _RC=0
|
|
||||||
|
|
||||||
# handle arguments (originally comma-separated)
|
# handle arguments (originally comma-separated)
|
||||||
for _ARG in ${_ARGS}
|
for _ARG in ${_ARGS}
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
# @(#) 2018-04-30: fixes on variable names Patrick Van der Veken]
|
# @(#) 2018-04-30: fixes on variable names Patrick Van der Veken]
|
||||||
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
# @(#) 2018-05-20: added dump_logs() [Patrick Van der Veken]
|
||||||
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
# @(#) 2018-05-21: STDERR fixes [Patrick Van der Veken]
|
||||||
|
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
|
||||||
#******************************************************************************
|
#******************************************************************************
|
||||||
@ -38,7 +39,7 @@ function check_linux_vz_ct_status
|
|||||||
# ------------------------- CONFIGURATION starts here -------------------------
|
# ------------------------- CONFIGURATION starts here -------------------------
|
||||||
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
|
||||||
typeset _VZLIST_BIN="/usr/sbin/vzlist"
|
typeset _VZLIST_BIN="/usr/sbin/vzlist"
|
||||||
typeset _VERSION="2018-05-21" # YYYY-MM-DD
|
typeset _VERSION="2018-10-28" # YYYY-MM-DD
|
||||||
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
|
||||||
# ------------------------- CONFIGURATION ends here ---------------------------
|
# ------------------------- CONFIGURATION ends here ---------------------------
|
||||||
|
|
||||||
@ -92,8 +93,8 @@ grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _CT_ENTRY
|
|||||||
do
|
do
|
||||||
# field split
|
# field split
|
||||||
_CT_ID="$(print ${_CT_ENTRY} | cut -f1 -d';')"
|
_CT_ID="$(print ${_CT_ENTRY} | cut -f1 -d';')"
|
||||||
_CT_CFG_STATUS=$(data_lc $(print "${_CT_ENTRY}" | cut -f2 -d';' 2>/dev/null))
|
_CT_CFG_STATUS=$(data_lc "$(print \"${_CT_ENTRY}\" | cut -f2 -d';' 2>/dev/null)")
|
||||||
_CT_CFG_BOOT=$(data_lc $(print "${_CT_ENTRY}" | cut -f3 -d';' 2>/dev/null))
|
_CT_CFG_BOOT=$(data_lc "$(print \"${_CT_ENTRY}\" | cut -f3 -d';' 2>/dev/null)")
|
||||||
|
|
||||||
# check config
|
# check config
|
||||||
case "${_CT_ID}" in
|
case "${_CT_ID}" in
|
||||||
@ -139,8 +140,8 @@ do
|
|||||||
if [[ -n "${_CT_MATCH}" ]]
|
if [[ -n "${_CT_MATCH}" ]]
|
||||||
then
|
then
|
||||||
# field split
|
# field split
|
||||||
_CT_RUN_STATUS=$(data_lc $(print "${_CT_MATCH}" | tr -s ' ' ';' 2>/dev/null | cut -f3 -d';' 2>/dev/null))
|
_CT_RUN_STATUS=$(data_lc "$(print \"${_CT_MATCH}\" | tr -s ' ' ';' 2>/dev/null | cut -f3 -d';' 2>/dev/null)")
|
||||||
_CT_RUN_BOOT=$(data_lc $(print "${_CT_MATCH}" | tr -s ' ' ';' 2>/dev/null | cut -f4 -d';' 2>/dev/null))
|
_CT_RUN_BOOT=$(data_lc "$(print \"${_CT_MATCH}\" | tr -s ' ' ';' 2>/dev/null | cut -f4 -d';' 2>/dev/null)")
|
||||||
|
|
||||||
if [[ "${_CT_RUN_STATUS}" = "${_CT_CFG_STATUS}" ]]
|
if [[ "${_CT_RUN_STATUS}" = "${_CT_CFG_STATUS}" ]]
|
||||||
then
|
then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user