Fixed (linter) issues

This commit is contained in:
patvdv
2018-10-27 22:16:08 +02:00
parent 1249e2ccd6
commit f27d7aa07b
54 changed files with 458 additions and 376 deletions
+6 -6
View File
@@ -25,6 +25,7 @@
# @(#) 2013-05-15: initial version [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]
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#******************************************************************************
@@ -33,7 +34,7 @@
function check_aix_errpt
{
# ------------------------- 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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -47,7 +48,6 @@ typeset _STC=0
typeset _LAST_TIME_CHECK=""
typeset _LAST_TIME_FILE=""
typeset _LABEL=""
typeset _IDENTIFIER=""
typeset _NEW_CHECK_TIME=""
# handle arguments (originally comma-separated)
@@ -56,7 +56,7 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
@@ -66,7 +66,7 @@ if [[ -r ${_LAST_TIME_FILE} ]]
then
if [[ -s ${_LAST_TIME_FILE} ]]
then
_LAST_TIME_CHECK="<${_LAST_TIME_FILE})"
_LAST_TIME_CHECK="<${_LAST_TIME_FILE})"
else
warn "$0: no last known check date/time"
fi
@@ -100,12 +100,12 @@ fi
# but we can live it :-))
_NEW_CHECK_TIME="$(errpt 2>/dev/null | head -n 2 | tail -n 1 | awk '{print $2}')"
# blank result indicates either no errpt entries or exist the time call failed
if [[ -n "${_NEW_CHECK_TIME}" ]]
if [[ -n "${_NEW_CHECK_TIME}" ]]
then
print "${_NEW_CHECK_TIME}" >${_LAST_TIME_FILE}
(( $? == 0)) || warn "$0: unable to write last check time to ${_LAST_TIME_FILE}"
else
warn "$0: no last check time received from errpt (no entries)"
warn "$0: no last check time received from errpt (no entries)"
fi
# handle results
+18 -17
View File
@@ -23,6 +23,7 @@
#
# @(#) HISTORY:
# @(#) 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!
#******************************************************************************
@@ -32,7 +33,7 @@ function check_aix_file_age
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -44,7 +45,7 @@ typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _ENTRY=""
typeset _AGE_CHECK==""
typeset _AGE_CHECK=""
typeset _FILE_PATH=""
typeset _FILE_AGE=""
typeset _FILE_NAME=""
@@ -56,57 +57,57 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# handle configuration file
[[ -n "${ARG_CONFIG_FILE}" ]] && _CONFIG_FILE="${ARG_CONFIG_FILE}"
if [[ ! -r ${_CONFIG_FILE} ]]
if [[ ! -r ${_CONFIG_FILE} ]]
then
warn "unable to read configuration file at ${_CONFIG_FILE}"
return 1
fi
# perform check
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _ENTRY
do
# field split
_FILE_PATH="$(print ${_ENTRY%%;*})"
_FILE_AGE="$(print ${_ENTRY##*;})"
# split file/dir
_FILE_NAME="$(print ${_FILE_PATH##*/})"
_FILE_DIR="$(print ${_FILE_PATH%/*})"
_FILE_NAME="$(print ${_FILE_PATH##*/})"
_FILE_DIR="$(print ${_FILE_PATH%/*})"
# check config
if [ \( -z "${_FILE_PATH}" \) -a \( -z "${_FILE_AGE}" \) ]
if [[ -z "${_FILE_PATH}" ]] && [[ -z "${_FILE_AGE}" ]]
then
warn "missing values in configuration file at ${_CONFIG_FILE}"
return 1
return 1
fi
case "${_FILE_AGE}" in
+([0-9])*(.)*([0-9]))
# numeric, OK
;;
*)
*)
# not numeric
warn "invalid file age value '${_FILE_AGE}' in configuration file at ${_CONFIG_FILE}"
return 1
return 1
;;
esac
# perform check
if [[ ! -r "${_FILE_PATH}" ]]
then
_MSG="unable to read or access requested file at ${_FILE_PATH}"
_STC=1
_STC=1
else
_AGE_CHECK=$(find "${_FILE_DIR}" -type f -name "${_FILE_NAME}" -mmin -"${_FILE_AGE}")
if (( $? != 0 ))
then
warn "unable to execute file age test for ${_FILE_PATH}"
return 1
return 1
fi
if [[ -z "${_AGE_CHECK}" ]]
then
@@ -116,7 +117,7 @@ do
_MSG="file age of ${_FILE_AGE} has not expired on ${_FILE_PATH}"
fi
fi
# handle unit result
log_hc "$0" ${_STC} "${_MSG}"
_STC=0
@@ -24,6 +24,7 @@
#
# @(#) HISTORY:
# @(#) 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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_aix_file_change
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -44,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _STC_COUNT=0
typeset _DO_META_CHECK=0
typeset _CFG_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 local trap for clean-up
# shellcheck disable=SC2064
trap "[[ -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" 0
# shellcheck disable=SC2064
trap "[[ -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;
@@ -133,6 +135,7 @@ fi
# check state file & TMP_FILEs
[[ -r ${_STATE_FILE} ]] || {
# shellcheck disable=SC2188
>${_STATE_FILE}
(( $? > 0 )) && {
warn "failed to create new state file at ${_STATE_FILE}"
@@ -140,21 +143,25 @@ fi
}
log "created new state file at ${_STATE_FILE}"
}
# shellcheck disable=SC2188
>${_TMP_INCL_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP_EXCL_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP1_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP1_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP2_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP2_FILE}"
@@ -163,7 +170,7 @@ fi
# build list of configured objects: inclusion
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _INCL_OBJECT
while IFS=':' read _ _INCL_OBJECT
do
# check for meta & globbing characters (*?[]{}|)
if (( _DO_META_CHECK == 1 ))
@@ -187,7 +194,7 @@ done
# build list of configured objects: exclusion
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _EXCL_OBJECT
while IFS=':' read _ _EXCL_OBJECT
do
# check for meta & globbing characters (*?[]{}|)
if (( _DO_META_CHECK == 1 ))
@@ -337,12 +344,6 @@ then
}
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
}
@@ -27,6 +27,7 @@
# @(#) 2018-05-11: initial version [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-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#******************************************************************************
@@ -37,7 +38,7 @@ function check_hpux_drd_status
# ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -47,7 +48,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _RC=0
typeset _CHECK_CLONE=""
typeset _CHECK_SYNC=""
@@ -126,8 +126,7 @@ fi
if (( _RC == 0 )) && (( $(grep -c -E -e ".*Information succeeded.*" ${HC_STDOUT_LOG} 2>/dev/null) > 0 ))
then
# 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 %m %d %H %M %S'))
_NOW_EPOCH=$(data_date2epoch "$(date '+%Y')" "$(date '+%m')" "$(date '+%d')" "$(date '+%H')" "$(date '+%M')" "$(date '+%S')")
# get devices
_ORIGINAL_DISK=$(data_strip_space "$(grep "Original Disk:" ${HC_STDOUT_LOG} 2>/dev/null | cut -f2 -d':')")
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2013-05-27: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_hpux_file_age
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -47,15 +48,15 @@ typeset _STC=0
typeset _REF_FILE="${TMP_DIR}/.$0.ref.$$"
typeset _DO_REF=0
typeset _ENTRY=""
typeset _REF_TIME=""
typeset _AGE_CHECK==""
typeset _FILE_PATH=""
typeset _FILE_AGE=""
typeset _FILE_NAME=""
typeset _FILE_DIR=""
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -88,7 +89,7 @@ do
_FILE_DIR=$(print "${_FILE_PATH%/*}")
# check config
if [ \( -z "${_FILE_PATH}" \) -a \( -z "${_FILE_AGE}" \) ]
if [[ -z "${_FILE_PATH}" ]] && [[ -z "${_FILE_AGE}" ]]
then
warn "missing values in configuration file at ${_CONFIG_FILE}"
return 1
@@ -24,6 +24,7 @@
#
# @(#) HISTORY:
# @(#) 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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_hpux_file_change
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -44,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _STC_COUNT=0
typeset _DO_META_CHECK=0
typeset _CFG_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 local trap for clean-up
# shellcheck disable=SC2064
trap "[[ -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" 0
# shellcheck disable=SC2064
trap "[[ -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;
@@ -133,6 +135,7 @@ fi
# check state file & TMP_FILEs
[[ -r ${_STATE_FILE} ]] || {
# shellcheck disable=SC2188
>${_STATE_FILE}
(( $? > 0 )) && {
warn "failed to create new state file at ${_STATE_FILE}"
@@ -140,21 +143,25 @@ fi
}
log "created new state file at ${_STATE_FILE}"
}
# shellcheck disable=SC2188
>${_TMP_INCL_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP_EXCL_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP1_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP1_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP2_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP2_FILE}"
@@ -163,7 +170,7 @@ fi
# build list of configured objects: inclusion
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _INCL_OBJECT
while IFS=':' read _ _INCL_OBJECT
do
# check for meta & globbing characters (*?[]{}|)
if (( _DO_META_CHECK == 1 ))
@@ -187,7 +194,7 @@ done
# build list of configured objects: exclusion
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _EXCL_OBJECT
while IFS=':' read _ _EXCL_OBJECT
do
# check for meta & globbing characters (*?[]{}|)
if (( _DO_META_CHECK == 1 ))
@@ -337,12 +344,6 @@ then
}
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
}
@@ -25,6 +25,7 @@
# @(#) 2016-04-04: original version [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]
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# 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 -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -48,7 +49,6 @@ typeset _STC=0
typeset _CONFIG_FS=""
typeset _CONFIG_OPTS=""
typeset _CURR_OPTS=""
typeset _DUMMY=""
typeset _IGNORE_FS=""
typeset _IS_ACTIVE=0
typeset _FS_ENTRY=""
@@ -86,7 +86,7 @@ mount >>${HC_STDOUT_LOG} 2>>${HC_STDERR_LOG}
# check for each configured file system
grep -i '^fs:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _CONFIG_FS _CONFIG_OPTS
while IFS=':' read _ _CONFIG_FS _CONFIG_OPTS
do
# check for active FS
_IS_ACTIVE=$(grep -c -E -e "^${_CONFIG_FS}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null)
@@ -23,6 +23,7 @@
#
# @(#) HISTORY:
# @(#) 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!
#******************************************************************************
@@ -31,7 +32,7 @@
function check_hpux_guid_status
{
# ------------------------- 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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -51,7 +52,7 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
@@ -63,7 +64,7 @@ then
if [[ -n "${_GUID_PID}" ]]
then
# 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
# not running
_RC=1
@@ -25,6 +25,7 @@
# @(#) 2017-06-01: initial version [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-10-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# 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 -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -63,7 +64,7 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
@@ -81,22 +82,22 @@ ${_HPVMSTATUS_BIN} -M >>${HC_STDOUT_LOG} 2>>${HC_STDERR_LOG}
# dump debug info
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
return 0
}
}
# check configuration values
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _PAR_ENTRY
do
# field split
_PAR_ID=$(print "${_PAR_ENTRY}" | cut -f1 -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_STATUS=$(data_lc "$(print \"${_PAR_ENTRY}\" | cut -f2 -d';')")
_PAR_CFG_BOOT=$(data_lc "$(print \"${_PAR_ENTRY}\" | cut -f3 -d';')")
# check configuration
case "${_PAR_ID}" in
+([0-9])*(.)*([0-9]))
# numeric, OK
;;
*)
*)
# not numeric
warn "invalid partition ID '${_PAR_ID}' in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
return 1
@@ -105,57 +106,57 @@ do
case "${_PAR_CFG_STATUS}" in
on|off)
;;
*)
*)
warn "invalid partition status '${_PAR_CFG_STATUS}' in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
return 1
return 1
;;
esac
esac
case "${_PAR_CFG_BOOT}" in
auto|manual)
;;
*)
*)
warn "invalid partition boot value '${_PAR_CFG_BOOT}' in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
return 1
return 1
;;
esac
_LINE_COUNT=$(( _LINE_COUNT + 1 ))
done
# perform checks
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _PAR_ENTRY
do
# field split
_PAR_ID=$(print "${_PAR_ENTRY}" | cut -f1 -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_STATUS=$(data_lc "$(print \"${_PAR_ENTRY}\" | cut -f2 -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)
_PAR_MATCH=$(grep -i "^.*:.*:${_PAR_ID}::Integrity" ${HC_STDOUT_LOG} 2>/dev/null)
if [[ -n "${_PAR_MATCH}" ]]
then
# field split
_PAR_RUN_STATUS=$(data_lc $(print "${_PAR_MATCH}" | cut -f11 -d':'))
_PAR_RUN_BOOT=$(data_lc $(print "${_PAR_MATCH}" | cut -f12 -d':'))
_PAR_RUN_STATUS=$(data_lc "$(print \"${_PAR_MATCH}\" | cut -f11 -d':')")
_PAR_RUN_BOOT=$(data_lc "$(print \"${_PAR_MATCH}\" | cut -f12 -d':')")
if [[ "${_PAR_RUN_STATUS}" = "${_PAR_CFG_STATUS}" ]]
then
_MSG="partition ${_PAR_ID} has a correct status [${_PAR_RUN_STATUS}]"
_STC=0
else
_MSG="partition ${_PAR_ID} has a wrong status [${_PAR_RUN_STATUS}]"
_MSG="partition ${_PAR_ID} has a wrong status [${_PAR_RUN_STATUS}]"
_STC=1
fi
log_hc "$0" ${_STC} "${_MSG}" "${_PAR_RUN_STATUS}" "${_PAR_CFG_STATUS}"
log_hc "$0" ${_STC} "${_MSG}" "${_PAR_RUN_STATUS}" "${_PAR_CFG_STATUS}"
if [[ "${_PAR_RUN_BOOT}" = "${_PAR_CFG_BOOT}" ]]
then
_MSG="partition ${_PAR_ID} has a correct boot flag [${_PAR_RUN_BOOT}]"
_STC=0
else
_MSG="partition ${_PAR_ID} has a wrong boot flag [${_PAR_RUN_BOOT}]"
_STC=1
_MSG="partition ${_PAR_ID} has a wrong boot flag [${_PAR_RUN_BOOT}]"
_STC=1
fi
log_hc "$0" ${_STC} "${_MSG}" "${_PAR_RUN_BOOT}" "${_PAR_CFG_BOOT}"
log_hc "$0" ${_STC} "${_MSG}" "${_PAR_RUN_BOOT}" "${_PAR_CFG_BOOT}"
else
warn "could not determine status for partition ${_PAR_ID} from command output {${_HPVMSTATUS_BIN}}"
_RC=1
@@ -23,6 +23,7 @@
#
# @(#) HISTORY:
# @(#) 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!
#******************************************************************************
@@ -32,7 +33,7 @@ function check_hpux_httpd_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -41,7 +42,7 @@ typeset _SUPPORTED_PLATFORMS="HP-UX" # uname -s match
init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _HTTPD_CHECKCONF_BIN=""
typeset _HTTPD_BIN=""
typeset _HTTPD_PID=""
typeset _MSG=""
typeset _STC=0
@@ -65,7 +66,7 @@ then
if [[ -n "${_HTTPD_PID}" ]]
then
# 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
# not running
_RC=1
@@ -26,6 +26,7 @@
# @(#) 2016-05-26: added a simple exclusion list for hosts as configurable
# @(#) parameter [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!
#******************************************************************************
@@ -37,7 +38,7 @@ function check_hpux_ignite_backup
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
# backup DONE identifier
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
# ------------------------- 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 ]]
then
_OLD_PWD="$(pwd)"
# shellcheck disable=SC2164
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
find * -prune -type l | while read _IGNITE_HOST
@@ -168,7 +178,16 @@ then
_STC=0
done
# shellcheck disable=SC2164
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
_MSG="Host is not an Ignite/UX server"
log_hc "$0" ${_STC} "${_MSG}"
@@ -187,7 +206,7 @@ CONFIG : $3 with:
backup_age=<days_till_last_backup>
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
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
+13 -12
View File
@@ -29,6 +29,7 @@
# @(#) 2016-12-01: more standardized error handling [Patrick Van der Veken]
# @(#) 2018-05-11: small optimizations [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!
#******************************************************************************
@@ -40,7 +41,7 @@ function check_hpux_ioscan
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
typeset _IOSCAN_BIN="/usr/sbin/ioscan"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -67,13 +68,13 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# handle configuration file
[[ -n "${ARG_CONFIG_FILE}" ]] && _CONFIG_FILE="${ARG_CONFIG_FILE}"
if [[ ! -r ${_CONFIG_FILE} ]]
if [[ ! -r ${_CONFIG_FILE} ]]
then
warn "unable to read configuration file at ${_CONFIG_FILE}"
return 1
@@ -86,7 +87,7 @@ then
_IOSCAN_CLASSES="ctl|diag|disk|ext_bus|fc|fcp|i2o|ipmi|lan|lvm|olar|vm"
else
# convert commas and strip quotes
_IOSCAN_CLASSES=$(data_comma2pipe $(data_dequote "${_CLASS_LINE}"))
_IOSCAN_CLASSES=$(data_comma2pipe "$(data_dequote \"${_CLASS_LINE}\")")
fi
_KERNEL_MODE=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'kernel_mode')
if [[ -z "${_KERNEL_MODE}" ]]
@@ -126,32 +127,32 @@ else
fi
log "executing ioscan with options: ${_IOSCAN_OPTS}"
${_IOSCAN_BIN} ${_IOSCAN_OPTS} >>${HC_STDOUT_LOG} 2>>${HC_STDERR_LOG}
if (( $? != 0 ))
if (( $? != 0 ))
then
_MSG="unable to run command: {${_IOSCAN_BIN}}"
log_hc "$0" 1 "${_MSG}"
# dump debug info
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
return 0
return 1
fi
fi
# check for requested device classes
grep -E -e ".*:.*:.*:.*:.*:.*:.*:.*:${_IOSCAN_CLASSES}:.*" ${HC_STDOUT_LOG} 2>/dev/null |\
while read _IOSCAN_LINE
do
# possible states are: CLAIMED, UNCLAIMED, DIFF_HW, NO_HW, ERROR, SCAN
_HW_CLASS="$(print ${_IOSCAN_LINE} | cut -f9 -d':')"
_HW_PATH="$(print ${_IOSCAN_LINE} | cut -f11 -d':')"
_HW_CLASS="$(print ${_IOSCAN_LINE} | cut -f9 -d':')"
_HW_PATH="$(print ${_IOSCAN_LINE} | cut -f11 -d':')"
_HW_STATE="$(print ${_IOSCAN_LINE} | cut -f16 -d':')"
case "${_HW_STATE}" in
NO_HW)
_MSG="detected NO_HW for device on path '${_HW_PATH}', class '${_HW_CLASS}'"
_STC=1
_STC_COUNT=$(( _STC_COUNT + 1 ))
;;
ERROR)
ERROR)
_MSG="detected ERROR for device on HW path '${_HW_PATH}', class '${_HW_CLASS}'"
_STC=1
_STC_COUNT=$(( _STC_COUNT + 1 ))
@@ -160,7 +161,7 @@ do
# everything else is considered non-fatal (do not report)
continue
esac
log_hc "$0" ${_STC} "${_MSG}"
_STC=0
done
@@ -25,6 +25,7 @@
# @(#) 2017-12-22: original version [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-10-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#******************************************************************************
@@ -35,7 +36,7 @@ function check_hpux_kernel_params
# ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -51,7 +52,6 @@ typeset _CONFIG_VALUE=""
typeset _CURR_VALUE=""
typeset _EXPR_VALUE=""
typeset _REPORTED_VALUE=""
typeset _DUMMY=""
typeset _FOUND_PARAM=0
typeset _LINE_COUNT=1
@@ -92,7 +92,7 @@ fi
# check configuration values
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
do
# check for empties
if [[ -z "${_PARAM_NAME}" || -z "${_CONFIG_VALUE}" ]]
@@ -112,7 +112,7 @@ done
# perform checks
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
do
# check for actual values and expression values
_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-09: bug fix [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!
#******************************************************************************
@@ -36,7 +37,7 @@ function check_hpux_kernel_usage
# ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -58,7 +59,6 @@ typeset _CURR_VALUE=""
typeset _FOUND_PARAM=0
typeset _KCUSAGE_LINE=""
typeset _LINE_COUNT=1
typeset _DUMMY=""
# handle arguments (originally comma-separated)
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}" ]]
then
# default
_IGNORE_FS=90
_MAX_KCUSAGE=90
fi
_EXCLUDED_PARAMS=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'exclude_params')
if [[ -n "${_EXCLUDED_PARAMS}" ]]
@@ -109,7 +109,7 @@ fi
# check configuration values
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
do
# check for empties
if [[ -z "${_PARAM_NAME}" || -z "${_CONFIG_VALUE}" ]]
@@ -134,10 +134,10 @@ do
return 1
fi
;;
*)
*)
# not numeric
warn "invalid threshold value '${_CONFIG_VALUE}' in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
return 1
return 1
;;
esac
_LINE_COUNT=$(( _LINE_COUNT + 1 ))
@@ -145,7 +145,7 @@ done
# 1) perform checks (first the invidually configured ones)
grep -i '^param:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _PARAM_NAME _CONFIG_VALUE
while IFS=':' read _ _PARAM_NAME _CONFIG_VALUE
do
# check for actual values and ceilings
_CURR_VALUE=$(grep -E -e "^${_PARAM_NAME}[ \t].*" ${HC_STDOUT_LOG} 2>/dev/null | awk '{ print $2 }')
@@ -196,7 +196,7 @@ do
else
_MSG="${_PARAM_NAME} is below the general threshold (${_CHECK_VALUE}% <= ${_MAX_KCUSAGE}%)"
fi
# handle unit result
log_hc "$0" ${_STC} "${_MSG}" "${_CHECK_VALUE}" "${_MAX_KCUSAGE}"
_STC=0
@@ -51,13 +51,12 @@ typeset _STC=0
typeset _LOG_HEALTHY=0
typeset _TMP1_FILE="${TMP_DIR}/.$0.ioscan_tmp.$$"
typeset _TMP2_FILE="${TMP_DIR}/.$0.scsimgr_tmp.$$"
typeset _IOSCAN_LINE=""
typeset _SCSIMGR_LINE=""
typeset _HW_PATH=""
typeset _ACTIVE_PATH_COUNT=""
typeset _ALL_PATH_COUNT=""
typeset _FAILED_PATH_COUNT=""
typeset _STANDBY_PATH_COUNT=""
typeset _WWID=""
# handle arguments (originally comma-separated)
for _ARG in ${_ARGS}
@@ -84,9 +83,11 @@ else
fi
# set local trap for cleanup
# shellcheck disable=SC2064
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
return 0" 0
# shellcheck disable=SC2064
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1;
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1;
return 1" 1 2 3 15
@@ -104,11 +105,13 @@ then
fi
# check TMP_FILEs
# shellcheck disable=SC2188
>${_TMP1_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP1_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP2_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP2_FILE}"
@@ -53,7 +53,7 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
@@ -65,7 +65,7 @@ then
if [[ -n "${_NAMED_PID}" ]]
then
# 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
# not running
_RC=1
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2016-12-01: initial version [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!
#------------------------------------------------------------------------------
@@ -33,7 +34,7 @@ function check_hpux_ntp_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _NTPQ_BIN="/usr/sbin/ntpq"
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -55,13 +56,13 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# handle config file
[[ -n "${ARG_CONFIG_FILE}" ]] && _CONFIG_FILE="${ARG_CONFIG_FILE}"
if [[ ! -r ${_CONFIG_FILE} ]]
if [[ ! -r ${_CONFIG_FILE} ]]
then
warn "unable to read configuration file at ${_CONFIG_FILE}"
return 1
@@ -75,7 +76,7 @@ then
fi
# check & get NTP status
if [[ ! -x ${_NTPQ_BIN} ]]
if [[ ! -x ${_NTPQ_BIN} ]]
then
warn "${_NTPQ_BIN} is not installed here"
return 1
@@ -116,16 +117,16 @@ then
if (( $(awk -v c="${_CURR_OFFSET}" -v m="${_MAX_OFFSET}" 'BEGIN { print (c>m) }') != 0 ))
then
_MSG="NTP offset of ${_CURR_OFFSET} is bigger than the configured maximum of ${_MAX_OFFSET}"
_STC=1
_STC=1
else
_MSG="NTP offset of ${_CURR_OFFSET} is within the acceptable range"
_MSG="NTP offset of ${_CURR_OFFSET} is within the acceptable range"
fi
log_hc "$0" ${_STC} "${_MSG}"
log_hc "$0" ${_STC} "${_MSG}"
;;
*)
*)
# not numeric
warn "invalid offset value of ${_CURR_OFFSET} found for ${NTP_PEER}?"
return 1
warn "invalid offset value of ${_CURR_OFFSET} found for ${_NTP_PEER}?"
return 1
;;
esac
fi
@@ -27,6 +27,7 @@
# @(#) 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-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!
#******************************************************************************
@@ -36,7 +37,7 @@ function check_hpux_ovpa_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _OVPA_BIN="/opt/perf/bin/perfstat"
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -90,7 +91,7 @@ then
esac
else
# convert commas and strip quotes
_OVPA_DAEMONS=$(data_comma2space $(data_dequote "${_OVPA_DAEMONS}"))
_OVPA_DAEMONS=$(data_comma2space "$(data_dequote \"${_OVPA_DAEMONS}\")")
fi
log "will check daemons: ${_OVPA_DAEMONS}"
_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-20: added dump_logs() [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!
#******************************************************************************
@@ -39,7 +40,7 @@ typeset _SWLIST_BIN="/usr/sbin/swlist"
typeset _SWLIST_OPTS=""
typeset _SHOW_PATCHES_BIN="/usr/contrib/bin/show_patches"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -49,7 +50,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _CFG_HEALTHY=""
typeset _LOG_HEALTHY=0
typeset _OE_VERSION=""
@@ -83,7 +83,7 @@ _PATCH_LINE=$(_CONFIG_FILE="${_CONFIG_FILE}" data_get_lvalue_from_config 'requir
if [[ -n "${_PATCH_LINE}" ]]
then
# convert commas and strip quotes
_PATCHES=$(data_comma2space $(data_dequote "${_PATCH_LINE}"))
_PATCHES=$(data_comma2space "$(data_dequote \"${_PATCH_LINE}\")")
fi
if [[ -z "${_CHECK_FILESETS}" ]]
then
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2016-03-08: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_hpux_sg_cluster_config
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/usr/lbin/cmcld"
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
@@ -58,7 +59,9 @@ typeset _CLUSTER_PARAM=""
typeset _CLUSTER_VALUE=""
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -165,9 +168,6 @@ do
done <${_CLUSTER_CFG_FILE}.${_CLUSTER_INSTANCE}
done
# remove working files
rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1
return 0
}
@@ -26,6 +26,7 @@
# @(#) 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]
# @(#) 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!
#******************************************************************************
@@ -35,7 +36,7 @@ function check_hpux_sg_cluster_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/usr/lbin/cmcld"
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -50,7 +51,6 @@ typeset _STC=0
typeset _SG_ENTRY=""
typeset _SG_MATCH=""
typeset _SG_CFG_PARAM=""
typeset _SG_RUN_PARAM=""
typeset _SG_CFG_VALUE=""
typeset _SG_RUN_VALUE=""
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2016-03-08: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_hpux_sg_package_config
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/usr/lbin/cmcld"
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
@@ -68,7 +69,9 @@ do
done
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle configuration file
@@ -165,9 +168,6 @@ do
done <${_PKG_CFG_FILE}.${_PKG_INSTANCE}
done
# remove working files
rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1
return 0
}
@@ -26,6 +26,7 @@
# @(#) 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]
# @(#) 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!
#******************************************************************************
@@ -35,7 +36,7 @@ function check_hpux_sg_package_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/usr/lbin/cmcld"
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -51,7 +52,6 @@ typeset _SG_ENTRY=""
typeset _SG_MATCH=""
typeset _SG_PACKAGE=""
typeset _SG_CFG_PARAM=""
typeset _SG_RUN_PARAM=""
typeset _SG_CFG_VALUE=""
typeset _SG_RUN_VALUE=""
@@ -23,6 +23,7 @@
#
# @(#) HISTORY:
# @(#) 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!
#******************************************************************************
@@ -31,7 +32,7 @@
function check_hpux_sg_qs_status
{
# ------------------------- 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 _QS_BIN="/usr/lbin/qsc"
typeset _QS_AUTH_FILE="/etc/cmcluster/qs_authfile"
@@ -44,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _RC=0
# handle arguments (originally comma-separated)
for _ARG in ${_ARGS}
@@ -52,12 +52,12 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# check QS presence
if [[ ! -x ${_QS_BIN} ]]
if [[ ! -x ${_QS_BIN} ]]
then
warn "${_QS_BIN} is not installed here"
return 1
@@ -23,6 +23,7 @@
#
# @(#) HISTORY:
# @(#) 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!
#******************************************************************************
@@ -32,7 +33,7 @@ function check_hpux_sshd_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -52,7 +53,7 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
@@ -64,7 +65,7 @@ then
if [[ -n "${_SSHD_PID}" ]]
then
# 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
# not running
_RC=1
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 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]
# @(#) 2018-10-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#******************************************************************************
@@ -34,7 +35,7 @@ function check_hpux_syslog
# ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -62,7 +63,9 @@ do
done
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle configuration file
@@ -144,9 +147,6 @@ fi
# handle results
log_hc "$0" ${_STC} "${_MSG}"
# clean up temporary files
[[ -f ${_TMP_FILE} ]] && rm -f ${_TMP_FILE} >/dev/null 2>&1
return 0
}
@@ -27,6 +27,7 @@
# @(#) 2016-12-01: initial version [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-10-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# 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_CLIENT_CONFIG_FILE="/etc/burp/burp.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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -156,7 +157,7 @@ do
typeset _MIN_BACKUP_TIME=""
typeset _STC=0
if [[ -n "{_BURP_CLIENT}" ]] && [[ -n "{_BURP_WARNINGS}" ]] && [[ -n "${_BURP_AGE}" ]]
if [[ -n "${_BURP_CLIENT}" ]] && [[ -n "${_BURP_WARNINGS}" ]] && [[ -n "${_BURP_AGE}" ]]
then
# convert backup aging (UNIX seconds)
case "${_BURP_AGE}" in
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2013-05-27: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_linux_file_age
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -45,7 +46,7 @@ typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _ENTRY=""
typeset _AGE_CHECK==""
typeset _AGE_CHECK=""
typeset _FILE_PATH=""
typeset _FILE_AGE=""
typeset _FILE_NAME=""
@@ -57,57 +58,57 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# handle configuration file
[[ -n "${ARG_CONFIG_FILE}" ]] && _CONFIG_FILE="${ARG_CONFIG_FILE}"
if [[ ! -r ${_CONFIG_FILE} ]]
if [[ ! -r ${_CONFIG_FILE} ]]
then
warn "unable to read configuration file at ${_CONFIG_FILE}"
return 1
fi
# perform check
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _ENTRY
do
# field split
_FILE_PATH=$(print "${_ENTRY%%;*}")
_FILE_AGE=$(print "${_ENTRY##*;}")
# split file/dir
_FILE_NAME=$(print "${_FILE_PATH##*/}")
_FILE_DIR=$(print "${_FILE_PATH%/*}")
_FILE_NAME=$(print "${_FILE_PATH##*/}")
_FILE_DIR=$(print "${_FILE_PATH%/*}")
# check config
if [ \( -z "${_FILE_PATH}" \) -a \( -z "${_FILE_AGE}" \) ]
if [[ -z "${_FILE_PATH}" ]] && [[ -z "${_FILE_AGE}" ]]
then
warn "missing values in configuration file at ${_CONFIG_FILE}"
return 1
return 1
fi
case "${_FILE_AGE}" in
+([0-9])*(.)*([0-9]))
# numeric, OK
;;
*)
*)
# not numeric
warn "invalid file age value '${_FILE_AGE}' in configuration file at ${_CONFIG_FILE}"
return 1
return 1
;;
esac
# perform check
if [[ ! -r "${_FILE_PATH}" ]]
then
_MSG="unable to read or access requested file at ${_FILE_PATH}"
_STC=1
_STC=1
else
_AGE_CHECK=$(find "${_FILE_DIR}" -type f -name "${_FILE_NAME}" -mmin -"${_FILE_AGE}" 2>/dev/null)
if (( $? != 0 ))
then
warn "unable to execute file age test for ${_FILE_PATH}"
return 1
return 1
fi
if [[ -z "${_AGE_CHECK}" ]]
then
@@ -117,7 +118,7 @@ do
_MSG="file age of ${_FILE_AGE} has not expired on ${_FILE_PATH}"
fi
fi
# handle unit result
log_hc "$0" ${_STC} "${_MSG}"
_STC=0
@@ -136,7 +137,7 @@ CONFIG : $3 with:
<file_name>;<maximum_age_in_minutes>
PURPOSE : Checks whether given files have been changed in the last n minutes
(requires GNU find)
EOT
return 0
@@ -25,6 +25,7 @@
# @(#) HISTORY:
# @(#) 2017-05-18: initial version [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!
#******************************************************************************
@@ -34,7 +35,7 @@ function check_linux_file_change
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -45,7 +46,6 @@ typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _STC_COUNT=0
typeset _DO_META_CHECK=0
typeset _CFG_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 local trap for clean-up
# shellcheck disable=SC2064
trap "[[ -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" 0
# shellcheck disable=SC2064
trap "[[ -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;
@@ -134,6 +136,7 @@ fi
# check state file & TMP_FILEs
[[ -r ${_STATE_FILE} ]] || {
# shellcheck disable=SC2188
>${_STATE_FILE}
(( $? > 0 )) && {
warn "failed to create new state file at ${_STATE_FILE}"
@@ -141,21 +144,25 @@ fi
}
log "created new state file at ${_STATE_FILE}"
}
# shellcheck disable=SC2188
>${_TMP_INCL_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP_INCL_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP_EXCL_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP_EXCL_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP1_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP1_FILE}"
return 1
}
# shellcheck disable=SC2188
>${_TMP2_FILE}
(( $? > 0 )) && {
warn "failed to create temporary file at ${_TMP2_FILE}"
@@ -164,7 +171,7 @@ fi
# build list of configured objects: inclusion
grep -i '^incl:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _INCL_OBJECT
while IFS=':' read _ _INCL_OBJECT
do
# check for meta & globbing characters (*?[]{}|)
if (( _DO_META_CHECK == 1 ))
@@ -188,7 +195,7 @@ done
# build list of configured objects: exclusion
grep -i '^excl:' ${_CONFIG_FILE} 2>/dev/null |\
while IFS=':' read _DUMMY _EXCL_OBJECT
while IFS=':' read _ _EXCL_OBJECT
do
# check for meta & globbing characters (*?[]{}|)
if (( _DO_META_CHECK == 1 ))
@@ -338,12 +345,6 @@ then
}
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
}
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2013-09-09: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_linux_hpacucli
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -43,7 +44,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _STC_COUNT=0
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
typeset _HPACUCLI_BIN=""
@@ -57,7 +57,9 @@ typeset _DO_ACU_LOGL=1
typeset _DO_CHECK=0
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -262,9 +264,6 @@ then
log_hc "$0" 0 "${_MSG}"
fi
# remove temporary file
[[ -f ${_TMP_FILE} ]] & rm -f ${_TMP_FILE} >/dev/null 2>&1
return 0
}
@@ -25,6 +25,7 @@
# @(#) 2013-09-07: initial version [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-10-28: fixed (linter) errors [Patrick Van der Veken]
# -----------------------------------------------------------------------------
# DO NOT CHANGE THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING!
#******************************************************************************
@@ -34,7 +35,7 @@ function check_linux_hpasmcli
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -44,7 +45,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _STC_COUNT=0
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
typeset _HPASMCLI_BIN=""
@@ -62,7 +62,9 @@ typeset _THRES_VALUE=""
typeset _TEMP_UNIT=""
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -273,9 +275,6 @@ then
log_hc "$0" 0 "${_MSG}"
fi
# remove temporary file
[[ -f ${_TMP_FILE} ]] & rm -f ${_TMP_FILE} >/dev/null 2>&1
return 0
}
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2017-04-22: initial version [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!
#******************************************************************************
@@ -34,7 +35,7 @@ function check_linux_hplog
# ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -55,9 +56,11 @@ typeset _SEVERITY_ENTRY=""
typeset _EVENT_ENTRY=""
# set local trap for cleanup
# shellcheck disable=SC2064
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
return 0" 0
# shellcheck disable=SC2064
trap "[[ -f ${_TMP1_FILE} ]] && rm -f ${_TMP1_FILE} >/dev/null 2>&1
[[ -f ${_TMP2_FILE} ]] && rm -f ${_TMP2_FILE} >/dev/null 2>&1
return 1" 1 2 3 15
@@ -159,10 +162,6 @@ else
fi
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
}
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2016-04-01: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_linux_hpssacli
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -43,7 +44,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _STC_COUNT=0
typeset _TMP_FILE="${TMP_DIR}/.$0.tmp.$$"
typeset _HPSSACLI_BIN=""
@@ -57,7 +57,9 @@ typeset _DO_SSA_LOGL=1
typeset _DO_CHECK=0
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -262,9 +264,6 @@ then
log_hc "$0" 0 "${_MSG}"
fi
# remove temporary file
[[ -f ${_TMP_FILE} ]] & rm -f ${_TMP_FILE} >/dev/null 2>&1
return 0
}
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2018-03-20: initial version [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!
#------------------------------------------------------------------------------
@@ -35,7 +36,7 @@ function check_linux_ntp_status
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
typeset _NTPD_INIT_SCRIPT="/etc/init.d/ntpd"
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 _NTPQ_BIN="/usr/sbin/ntpq"
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -57,13 +58,13 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# handle config file
[[ -n "${ARG_CONFIG_FILE}" ]] && _CONFIG_FILE="${ARG_CONFIG_FILE}"
if [[ ! -r ${_CONFIG_FILE} ]]
if [[ ! -r ${_CONFIG_FILE} ]]
then
warn "unable to read configuration file at ${_CONFIG_FILE}"
return 1
@@ -78,6 +79,7 @@ fi
#------------------------------------------------------------------------------
# check ntp service
# 1) try using the init ways
linux_get_init
case "${LINUX_INIT}" in
'systemd')
@@ -105,6 +107,12 @@ case "${LINUX_INIT}" in
;;
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
case ${_STC} in
0)
@@ -122,7 +130,7 @@ log_hc "$0" ${_STC} "${_MSG}"
#------------------------------------------------------------------------------
# check ntpq results
_STC=0
if [[ ! -x ${_NTPQ_BIN} ]]
if [[ ! -x ${_NTPQ_BIN} ]]
then
warn "${_NTPQ_BIN} is not installed here"
return 1
@@ -159,16 +167,16 @@ then
if (( $(awk -v c="${_CURR_OFFSET}" -v m="${_MAX_OFFSET}" 'BEGIN { print (c>m) }' 2>/dev/null) != 0 ))
then
_MSG="NTP offset of ${_CURR_OFFSET} is bigger than the configured maximum of ${_MAX_OFFSET}"
_STC=1
_STC=1
else
_MSG="NTP offset of ${_CURR_OFFSET} is within the acceptable range"
_MSG="NTP offset of ${_CURR_OFFSET} is within the acceptable range"
fi
log_hc "$0" ${_STC} "${_MSG}"
log_hc "$0" ${_STC} "${_MSG}"
;;
*)
*)
# not numeric
warn "invalid offset value of ${_CURR_OFFSET} found for ${NTP_PEER}?"
return 1
warn "invalid offset value of ${_CURR_OFFSET} found for ${_NTP_PEER}?"
return 1
;;
esac
fi
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2018-07-10: original version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_linux_process_limits
{
# ------------------------- CONFIGURATION starts here -------------------------
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -43,8 +44,6 @@ init_hc "$0" "${_SUPPORTED_PLATFORMS}" "${_VERSION}"
typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _DUMMY=""
typeset _LINE_COUNT=1
typeset _CFG_HEALTHY=""
typeset _LOG_HEALTHY=0
@@ -66,7 +65,9 @@ typeset _USER_PS_PID=""
typeset _USER_PS_COMM=""
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -114,7 +115,7 @@ fi
# check PROCESS stanzas
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
# check for empties
if [[ -z "${_PROCESS}" || -z "${_PROCESS_LIMIT}" ]]
@@ -124,7 +125,7 @@ do
fi
if [[ -n "${_PROCESS_SOFT_THRESHOLD}" ]]
then
$(data_is_numeric ${_PROCESS_SOFT_THRESHOLD})
data_is_numeric ${_PROCESS_SOFT_THRESHOLD}
if (( $? > 0 ))
then
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
@@ -133,7 +134,7 @@ do
fi
if [[ -n "${_PROCESS_HARD_THRESHOLD}" ]]
then
$(data_is_numeric ${_PROCESS_HARD_THRESHOLD})
data_is_numeric ${_PROCESS_HARD_THRESHOLD}
if (( $? > 0 ))
then
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
@@ -178,7 +179,7 @@ done
# check USER stanzas
_LINE_COUNT=0
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
# check for empties
if [[ -z "${_USER}" || -z "${_USER_LIMIT}" ]]
@@ -188,7 +189,7 @@ do
fi
if [[ -n "${_USER_SOFT_THRESHOLD}" ]]
then
$(data_is_numeric ${_USER_SOFT_THRESHOLD})
data_is_numeric ${_USER_SOFT_THRESHOLD}
if (( $? > 0 ))
then
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
@@ -197,7 +198,7 @@ do
fi
if [[ -n "${_USER_HARD_THRESHOLD}" ]]
then
$(data_is_numeric ${_USER_HARD_THRESHOLD})
data_is_numeric ${_USER_HARD_THRESHOLD}
if (( $? > 0 ))
then
warn "parameter is not numeric in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2017-04-01: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_linux_sg_cluster_config
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/opt/cmcluster/bin/cmcld"
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
@@ -59,7 +60,9 @@ typeset _CLUSTER_PARAM=""
typeset _CLUSTER_VALUE=""
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -168,9 +171,6 @@ do
done <${_CLUSTER_CFG_FILE}.${_CLUSTER_INSTANCE}
done
# remove working files
rm -f ${_CLUSTER_RUN_FILE}.* ${_CLUSTER_CFG_FILE}.* >/dev/null 2>&1
return 0
}
@@ -26,6 +26,7 @@
# @(#) 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-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!
#******************************************************************************
@@ -35,7 +36,7 @@ function check_linux_sg_cluster_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/opt/cmcluster/bin/cmcld"
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -51,7 +52,6 @@ typeset _STC=0
typeset _SG_ENTRY=""
typeset _SG_MATCH=""
typeset _SG_CFG_PARAM=""
typeset _SG_RUN_PARAM=""
typeset _SG_CFG_VALUE=""
typeset _SG_RUN_VALUE=""
@@ -61,20 +61,20 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# handle configuration file
[[ -n "${ARG_CONFIG_FILE}" ]] && _CONFIG_FILE="${ARG_CONFIG_FILE}"
if [[ ! -r ${_CONFIG_FILE} ]]
if [[ ! -r ${_CONFIG_FILE} ]]
then
warn "unable to read configuration file at ${_CONFIG_FILE}"
return 1
fi
# check & get serviceguard status
if [[ ! -x ${_SG_DAEMON} ]]
if [[ ! -x ${_SG_DAEMON} ]]
then
warn "${_SG_DAEMON} is not installed here"
return 1
@@ -103,14 +103,14 @@ do
if [[ -n "${_SG_MATCH}" ]]
then
_SG_RUN_VALUE=$(print "${_SG_MATCH}" | cut -f2 -d'=' 2>/dev/null) # field 2
if [[ "${_SG_CFG_VALUE}" = "${_SG_RUN_VALUE}" ]]
then
_MSG="cluster parameter ${_SG_CFG_PARAM} has a correct value [${_SG_RUN_VALUE}]"
_STC=0
else
_MSG="cluster parameter ${_SG_CFG_PARAM} has a wrong value [${_SG_RUN_VALUE}]"
_STC=1
_MSG="cluster parameter ${_SG_CFG_PARAM} has a wrong value [${_SG_RUN_VALUE}]"
_STC=1
fi
log_hc "$0" ${_STC} "${_MSG}" "${_SG_RUN_VALUE}" "${_SG_CFG_VALUE}"
else
@@ -24,6 +24,7 @@
# @(#) HISTORY:
# @(#) 2017-04-01: initial version [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!
#******************************************************************************
@@ -33,7 +34,7 @@ function check_linux_sg_package_config
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/opt/cmcluster/bin/cmcld"
# rubbish that cmgetconf outputs to STDOUT instead of STDERR
@@ -59,7 +60,9 @@ typeset _PKG_PARAM=""
typeset _PKG_VALUE=""
# set local trap for cleanup
# shellcheck disable=SC2064
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
# handle arguments (originally comma-separated)
@@ -168,9 +171,6 @@ do
done <${_PKG_CFG_FILE}.${_PKG_INSTANCE}
done
# remove working files
rm -f ${_PKG_RUN_FILE}.* ${_PKG_CFG_FILE}.* >/dev/null 2>&1
return 0
}
@@ -26,6 +26,7 @@
# @(#) 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-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!
#******************************************************************************
@@ -35,7 +36,7 @@ function check_linux_sg_package_status
{
# ------------------------- CONFIGURATION starts here -------------------------
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 _SG_DAEMON="/opt/cmcluster/bin/cmcld"
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -52,7 +53,6 @@ typeset _SG_ENTRY=""
typeset _SG_MATCH=""
typeset _SG_PACKAGE=""
typeset _SG_CFG_PARAM=""
typeset _SG_RUN_PARAM=""
typeset _SG_CFG_VALUE=""
typeset _SG_RUN_VALUE=""
@@ -62,20 +62,20 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# handle configuration file
[[ -n "${ARG_CONFIG_FILE}" ]] && _CONFIG_FILE="${ARG_CONFIG_FILE}"
if [[ ! -r ${_CONFIG_FILE} ]]
if [[ ! -r ${_CONFIG_FILE} ]]
then
warn "unable to read configuration file at ${_CONFIG_FILE}"
return 1
fi
# check & get serviceguard status
if [[ ! -x ${_SG_DAEMON} ]]
if [[ ! -x ${_SG_DAEMON} ]]
then
warn "${_SG_DAEMON} is not installed here"
return 1
@@ -86,7 +86,7 @@ else
log_hc "$0" 1 "${_MSG}"
# dump debug info
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
return 0
return 0
}
fi
@@ -104,14 +104,14 @@ do
if [[ -n "${_SG_MATCH}" ]]
then
_SG_RUN_VALUE=$(print "${_SG_MATCH}" | cut -f3- -d':' 2>/dev/null | cut -f2 -d'=' 2>/dev/null) # field3-,2
if [[ "${_SG_CFG_VALUE}" = "${_SG_RUN_VALUE}" ]]
then
_MSG="package ${_SG_PACKAGE} parameter ${_SG_CFG_PARAM} has a correct value [${_SG_RUN_VALUE}]"
_STC=0
else
_MSG="package ${_SG_PACKAGE} parameter ${_SG_CFG_PARAM} has a wrong value [${_SG_RUN_VALUE}]"
_STC=1
_MSG="package ${_SG_PACKAGE} parameter ${_SG_CFG_PARAM} has a wrong value [${_SG_RUN_VALUE}]"
_STC=1
fi
log_hc "$0" ${_STC} "${_MSG}" "${_SG_RUN_VALUE}" "${_SG_CFG_VALUE}"
else
@@ -32,7 +32,7 @@
function check_linux_sg_qs_status
{
# ------------------------- 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 _QS_BIN="/opt/qs/bin/qsc"
typeset _QS_AUTH_FILE="/opt/qs/conf/qs_authfile"
@@ -45,7 +45,6 @@ typeset _ARGS=$(data_space2comma "$*")
typeset _ARG=""
typeset _MSG=""
typeset _STC=0
typeset _RC=0
# handle arguments (originally comma-separated)
for _ARG in ${_ARGS}
@@ -53,12 +52,12 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
# check QS presence
if [[ ! -x ${_QS_BIN} ]]
if [[ ! -x ${_QS_BIN} ]]
then
warn "${_QS_BIN} is not installed here"
return 1
@@ -28,6 +28,7 @@
# @(#) 2018-04-30: fixes on variable names Patrick Van der Veken]
# @(#) 2018-05-20: added dump_logs() [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!
#******************************************************************************
@@ -38,7 +39,7 @@ function check_linux_vz_ct_status
# ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
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
# ------------------------- CONFIGURATION ends here ---------------------------
@@ -66,7 +67,7 @@ do
case "${_ARG}" in
help)
_show_usage $0 ${_VERSION} ${_CONFIG_FILE} && return 0
;;
;;
esac
done
@@ -92,15 +93,15 @@ grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _CT_ENTRY
do
# field split
_CT_ID="$(print ${_CT_ENTRY} | cut -f1 -d';')"
_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_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)")
# check config
case "${_CT_ID}" in
+([0-9])*(.)*([0-9]))
# numeric, OK
;;
*)
*)
# not numeric
warn "invalid container ID '${_CT_ID}' in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
return 1
@@ -109,23 +110,23 @@ do
case "${_CT_CFG_STATUS}" in
running|stopped)
;;
*)
*)
warn "invalid container status '${_CT_CFG_STATUS}' in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
return 1
return 1
;;
esac
esac
case "${_CT_CFG_BOOT}" in
yes|no)
;;
*)
*)
warn "invalid container boot value '${_CT_CFG_BOOT}' in configuration file ${_CONFIG_FILE} at data line ${_LINE_COUNT}"
return 1
return 1
;;
esac
_LINE_COUNT=$(( _LINE_COUNT + 1 ))
done
# perform checks
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _CT_ENTRY
do
@@ -133,34 +134,34 @@ do
_CT_ID="$(print ${_CT_ENTRY} | cut -f1 -d';')"
_CT_CFG_STATUS="$(print ${_CT_ENTRY} | cut -f2 -d';')"
_CT_CFG_BOOT="$(print ${_CT_ENTRY} | cut -f3 -d';')"
# check run-time values
_CT_MATCH=$(grep -i "^[[:space:]]*${_CT_ID}" ${HC_STDOUT_LOG} 2>/dev/null)
if [[ -n "${_CT_MATCH}" ]]
then
# field split
_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_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)")
if [[ "${_CT_RUN_STATUS}" = "${_CT_CFG_STATUS}" ]]
then
_MSG="container ${_CT_ID} has a correct status [${_CT_RUN_STATUS}]"
_STC=0
else
_MSG="container ${_CT_ID} has a wrong status [${_CT_RUN_STATUS}]"
_STC=1
_MSG="container ${_CT_ID} has a wrong status [${_CT_RUN_STATUS}]"
_STC=1
fi
log_hc "$0" ${_STC} "${_MSG}" "${_CT_RUN_STATUS}" "${_CT_CFG_STATUS}"
log_hc "$0" ${_STC} "${_MSG}" "${_CT_RUN_STATUS}" "${_CT_CFG_STATUS}"
if [[ "${_CT_RUN_BOOT}" = "${_CT_CFG_BOOT}" ]]
then
_MSG="container ${_CT_ID} has a correct boot flag [${_CT_RUN_BOOT}]"
_STC=0
else
_MSG="container ${_CT_ID} has a wrong boot flag [${_CT_RUN_BOOT}]"
_STC=1
_MSG="container ${_CT_ID} has a wrong boot flag [${_CT_RUN_BOOT}]"
_STC=1
fi
log_hc "$0" ${_STC} "${_MSG}" "${_CT_RUN_BOOT}" "${_CT_CFG_BOOT}"
log_hc "$0" ${_STC} "${_MSG}" "${_CT_RUN_BOOT}" "${_CT_CFG_BOOT}"
else
warn "could not determine status for container ${_CT_ID} from command output {${_VZLIST_BIN}}"
_RC=1