Added dump_logs(), STDERR fixes

This commit is contained in:
Patrick Van der Veken 2018-05-21 12:26:57 +02:00
parent ef2003adfc
commit 54b17ecef7
23 changed files with 135 additions and 105 deletions

View File

@ -25,6 +25,7 @@
# #
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_burp_backup
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _BURP_CONFIG_FILE="/etc/burp/burp-server.conf" typeset _BURP_CONFIG_FILE="/etc/burp/burp-server.conf"
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-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -145,9 +146,9 @@ do
then then
_BACKUP_RUN="$(print ${_BACKUP_STATS} | awk '{print $1}')" _BACKUP_RUN="$(print ${_BACKUP_STATS} | awk '{print $1}')"
# output format: YYYYMMDD HHMM # output format: YYYYMMDD HHMM
_BACKUP_DATE=$(print "${_BACKUP_STATS}" | awk '{gsub(/-/,"",$2); gsub(/:/,"",$3); print $2" "substr($3,0,4)}') _BACKUP_DATE=$(print "${_BACKUP_STATS}" | awk '{gsub(/-/,"",$2); gsub(/:/,"",$3); print $2" "substr($3,0,4)}' 2>/dev/null)
# convert to UNIX seconds # convert to UNIX seconds
_CUR_BACKUP_TIME=$(date -d "${_BACKUP_DATE}" '+%s') _CUR_BACKUP_TIME=$(date -d "${_BACKUP_DATE}" '+%s' 2>/dev/null)
else else
warn "no backup found for client ${_BURP_CLIENT}. Check client impersonation?" warn "no backup found for client ${_BURP_CLIENT}. Check client impersonation?"
_COUNT=$(( _COUNT + 1 )) _COUNT=$(( _COUNT + 1 ))
@ -155,7 +156,7 @@ do
fi fi
# get backup warnings # get backup warnings
_BACKUP_WARNINGS="$(${_BURP_BIN} -c ${_BURP_CONFIG_FILE} -a S -C ${_BURP_CLIENT} -b ${_BACKUP_RUN} -z backup_stats 2>>${HC_STDERR_LOG} | grep '^warnings' 2>/dev/null | cut -f2 -d':')" _BACKUP_WARNINGS="$(${_BURP_BIN} -c ${_BURP_CONFIG_FILE} -a S -C ${_BURP_CLIENT} -b ${_BACKUP_RUN} -z backup_stats 2>>${HC_STDERR_LOG} | grep '^warnings' 2>/dev/null | cut -f2 -d':' 2>/dev/null)"
if [[ -z "${_BACKUP_WARNINGS}" ]] if [[ -z "${_BACKUP_WARNINGS}" ]]
then then
warn "could not get stats for backup ${_BACKUP_RUN} of client ${_BURP_CLIENT}" warn "could not get stats for backup ${_BACKUP_RUN} of client ${_BURP_CLIENT}"

View File

@ -24,6 +24,7 @@
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 2016-12-01: initial version [Patrick Van der Veken] # @(#) 2016-12-01: initial version [Patrick Van der Veken]
# @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken] # @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_burp_status
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _BURP_INIT_SCRIPT="/etc/init.d/burp" typeset _BURP_INIT_SCRIPT="/etc/init.d/burp"
typeset _BURP_SYSTEMD_SERVICE="burp.service" typeset _BURP_SYSTEMD_SERVICE="burp.service"
typeset _VERSION="2017-05-08" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -61,7 +62,7 @@ done
linux_get_init linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
systemctl --quiet is-active ${_BURP_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_BURP_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -70,7 +71,7 @@ case "${LINUX_INIT}" in
'sysv') 'sysv')
if [[ -x ${_BURP_INIT_SCRIPT} ]] if [[ -x ${_BURP_INIT_SCRIPT} ]]
then then
if (( $(${_BURP_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running') == 0 )) if (( $(${_BURP_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
@ -87,7 +88,7 @@ esac
# 2) try the pgrep way (note: old pgreps do not support '-c') # 2) try the pgrep way (note: old pgreps do not support '-c')
if (( _RC != 0 )) if (( _RC != 0 ))
then then
(( $(pgrep -u root burp 2>>${HC_STDERR_LOG} | wc -l) == 0 )) && _STC=1 (( $(pgrep -u root burp 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=1
fi fi
# evaluate results # evaluate results

View File

@ -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-05-21: STDERR fixes [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_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="2013-05-27" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -102,7 +103,7 @@ do
_MSG="unable to read or access requested file at ${_FILE_PATH}" _MSG="unable to read or access requested file at ${_FILE_PATH}"
_STC=1 _STC=1
else else
_AGE_CHECK=$(find "${_FILE_DIR}" -type f -name "${_FILE_NAME}" -mmin -"${_FILE_AGE}") _AGE_CHECK=$(find "${_FILE_DIR}" -type f -name "${_FILE_NAME}" -mmin -"${_FILE_AGE}" 2>/dev/null)
if (( $? != 0 )) if (( $? != 0 ))
then then
warn "unable to execute file age test for ${_FILE_PATH}" warn "unable to execute file age test for ${_FILE_PATH}"

View File

@ -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-05-21: STDERR fixes [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_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-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -227,12 +228,12 @@ do
fi fi
# read entry from state file # read entry from state file
_STATE_FILE_LINE=$(grep -E -e "^${_FILE_TO_CHECK}\|" ${_STATE_FILE}) _STATE_FILE_LINE=$(grep -E -e "^${_FILE_TO_CHECK}\|" ${_STATE_FILE} 2>/dev/null)
if [[ -n "${_STATE_FILE_LINE}" ]] if [[ -n "${_STATE_FILE_LINE}" ]]
then then
# field 1 is the file name # field 1 is the file name
_STATE_FILE_TYPE=$(print "${_STATE_FILE_LINE}" | cut -f2 -d'|') _STATE_FILE_TYPE=$(print "${_STATE_FILE_LINE}" | cut -f2 -d'|' 2>/dev/null)
_STATE_FILE_CKSUM=$(print "${_STATE_FILE_LINE}" | cut -f3 -d'|') _STATE_FILE_CKSUM=$(print "${_STATE_FILE_LINE}" | cut -f3 -d'|' 2>/dev/null)
else else
_IS_NEW=1 _IS_NEW=1
fi fi
@ -244,7 +245,7 @@ do
openssl-sha256) openssl-sha256)
if (( _USE_OPENSSL == 1 )) if (( _USE_OPENSSL == 1 ))
then then
_FILE_CKSUM=$(${_OPENSSL_BIN} dgst -sha256 ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f2 -d'=' | tr -d ' ') _FILE_CKSUM=$(${_OPENSSL_BIN} dgst -sha256 ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f2 -d'=' 2>/dev/null | tr -d ' ' 2>/dev/null)
_FILE_TYPE="openssl-sha256" _FILE_TYPE="openssl-sha256"
else else
_MSG="cannot compute checksum [${_FILE_TYPE}] for ${_FILE_TO_CHECK}" _MSG="cannot compute checksum [${_FILE_TYPE}] for ${_FILE_TO_CHECK}"
@ -254,7 +255,7 @@ do
cksum-crc32) cksum-crc32)
if (( _USE_CKSUM == 1 )) if (( _USE_CKSUM == 1 ))
then then
_FILE_CKSUM=$(${_CKSUM_BIN} ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f1 -d' ') _FILE_CKSUM=$(${_CKSUM_BIN} ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f1 -d' ' 2>/dev/null)
_FILE_TYPE="cksum-crc32" _FILE_TYPE="cksum-crc32"
else else
_MSG="cannot compute checksum [${_FILE_TYPE}] for ${_FILE_TO_CHECK}" _MSG="cannot compute checksum [${_FILE_TYPE}] for ${_FILE_TO_CHECK}"
@ -270,11 +271,11 @@ do
# new file # new file
if (( _USE_OPENSSL == 1 )) if (( _USE_OPENSSL == 1 ))
then then
_FILE_CKSUM=$(${_OPENSSL_BIN} dgst -sha256 ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f2 -d'=' | tr -d ' ') _FILE_CKSUM=$(${_OPENSSL_BIN} dgst -sha256 ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f2 -d'=' 2>/dev/null | tr -d ' ' 2>/dev/null)
_FILE_TYPE="openssl-sha256" _FILE_TYPE="openssl-sha256"
elif (( _USE_CKSUM == 1 )) elif (( _USE_CKSUM == 1 ))
then then
_FILE_CKSUM=$(${_CKSUM_BIN} ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f1 -d' ') _FILE_CKSUM=$(${_CKSUM_BIN} ${_FILE_TO_CHECK} 2>>${HC_STDERR_LOG} | cut -f1 -d' ' 2>/dev/null)
_FILE_TYPE="cksum-crc32" _FILE_TYPE="cksum-crc32"
else else
_MSG="cannot compute checksum (openssl/cksum) for ${_FILE_TO_CHECK}" _MSG="cannot compute checksum (openssl/cksum) for ${_FILE_TO_CHECK}"

View File

@ -23,6 +23,7 @@
# #
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 2013-05-17: initial version [Patrick Van der Veken] # @(#) 2013-05-17: initial version [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_linux_fs_mounts function check_linux_fs_mounts
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _VERSION="2013-05-17" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -69,7 +70,7 @@ cat /etc/fstab |\
awk '{print $2}' |\ awk '{print $2}' |\
while read _FS while read _FS
do do
_FS_COUNT=$(grep -c -E -e ".*on[ \t]+${_FS}[ \t]+.*" ${HC_STDOUT_LOG}) _FS_COUNT=$(grep -c -E -e ".*on[ \t]+${_FS}[ \t]+.*" ${HC_STDOUT_LOG}) 2>/dev/null
case ${_FS_COUNT} in case ${_FS_COUNT} in
0) 0)
_MSG="${_FS} is not mounted" _MSG="${_FS} is not mounted"
@ -89,7 +90,7 @@ do
done done
# add /etc/fstab to STDOUT log # add /etc/fstab to STDOUT log
cat /etc/fstab >>${HC_STDOUT_LOG} cat /etc/fstab >>${HC_STDOUT_LOG} 2>/dev/null
return 0 return 0
} }

View File

@ -23,6 +23,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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_linux_hpacucli
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf" typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
typeset _VERSION="2013-09-09" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -160,9 +161,9 @@ then
print "=== ACU controller(s) ===" >>${HC_STDOUT_LOG} print "=== ACU controller(s) ===" >>${HC_STDOUT_LOG}
cat ${_TMP_FILE} >>${HC_STDOUT_LOG} cat ${_TMP_FILE} >>${HC_STDOUT_LOG}
# get all slot numbers for multiple raid controllers # get all slot numbers for multiple raid controllers
cat ${_TMP_FILE} | grep "in Slot [0-9]" | while read _ACU_LINE cat ${_TMP_FILE} | grep "in Slot [0-9]" 2>/dev/null | while read _ACU_LINE
do do
_SLOT_NUM="$(print ${_ACU_LINE} | cut -f6 -d' ')" _SLOT_NUM="$(print ${_ACU_LINE} | cut -f6 -d' ' 2>/dev/null)"
case "${_DO_ACU_LOGL}" in case "${_DO_ACU_LOGL}" in
+([0-9])*([0-9])) +([0-9])*([0-9]))
# numeric OK # numeric OK

View File

@ -24,6 +24,7 @@
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_hpasmcli
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf" typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
typeset _VERSION="2017-04-06" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -157,7 +158,7 @@ then
${_HPASMCLI_BIN} -s 'SHOW FANS' >${_TMP_FILE} 2>${_TMP_FILE} ${_HPASMCLI_BIN} -s 'SHOW FANS' >${_TMP_FILE} 2>${_TMP_FILE}
(( $? != 0 )) && warn "'${_HPASMCLI_BIN} -s SHOW FANS' exited non-zero" (( $? != 0 )) && warn "'${_HPASMCLI_BIN} -s SHOW FANS' exited non-zero"
# look for failures # look for failures
grep -E -e '^#' ${_TMP_FILE} 2>/dev/null | grep -vi 'normal' |\ grep -E -e '^#' ${_TMP_FILE} 2>/dev/null | grep -vi 'normal' 2>/dev/null |\
while read _ASM_LINE while read _ASM_LINE
do do
_FAN_UNIT="$(print ${_ASM_LINE} | cut -f1 -d' ')" _FAN_UNIT="$(print ${_ASM_LINE} | cut -f1 -d' ')"
@ -241,15 +242,15 @@ then
grep -E -e '^#' ${_TMP_FILE} 2>/dev/null |\ grep -E -e '^#' ${_TMP_FILE} 2>/dev/null |\
while read _ASM_LINE while read _ASM_LINE
do do
_TEMP_FIELD="$(print ${_ASM_LINE} | cut -f3 -d' ')" _TEMP_FIELD="$(print ${_ASM_LINE} | cut -f3 -d' ' 2>/dev/null)"
_TEMP_VALUE="${_TEMP_FIELD%%C/*}" _TEMP_VALUE="${_TEMP_FIELD%%C/*}"
_THRES_FIELD="$(print ${_ASM_LINE} | cut -f4 -d' ')" _THRES_FIELD="$(print ${_ASM_LINE} | cut -f4 -d' ' 2>/dev/null)"
_THRES_VALUE="${_THRES_FIELD%%C/*}" _THRES_VALUE="${_THRES_FIELD%%C/*}"
if [[ "${_TEMP_VALUE}" != "-" ]] && [[ "${_THRES_VALUE}" != "-" ]] if [[ "${_TEMP_VALUE}" != "-" ]] && [[ "${_THRES_VALUE}" != "-" ]]
then then
if (( _TEMP_VALUE >= _THRES_VALUE )) if (( _TEMP_VALUE >= _THRES_VALUE ))
then then
_TEMP_UNIT="$(print ${_ASM_LINE} | cut -f1 -d' ')" _TEMP_UNIT="$(print ${_ASM_LINE} | cut -f1 -d' ' 2>/dev/null)"
_MSG="failure in 'SHOW TEMP', unit ${_TEMP_UNIT}" _MSG="failure in 'SHOW TEMP', unit ${_TEMP_UNIT}"
_MSG="${_MSG} has ${_TEMP_VALUE} >= ${_THRES_VALUE}" _MSG="${_MSG} has ${_TEMP_VALUE} >= ${_THRES_VALUE}"
_STC_COUNT=$(( _STC_COUNT + 1 )) _STC_COUNT=$(( _STC_COUNT + 1 ))

View File

@ -19,10 +19,11 @@
# @(#) MAIN: check_linux_hplog # @(#) MAIN: check_linux_hplog
# DOES: see _show_usage() # DOES: see _show_usage()
# EXPECTS: see _show_usage() # EXPECTS: see _show_usage()
# REQUIRES: data_space2comma(), init_hc(), log_hc() # REQUIRES: data_space2comma(), dump_logs(), init_hc(), log_hc()
# #
# @(#) 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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_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="2017-04-22" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -90,7 +91,7 @@ then
else else
# build the complex search regex # build the complex search regex
_HPLOG_SEVERITIES="^" _HPLOG_SEVERITIES="^"
print "${_SEVERITIES_LINE}" | tr ',' '\n' | while read -r _SEVERITY_ENTRY print "${_SEVERITIES_LINE}" | tr ',' '\n' 2>/dev/null | while read -r _SEVERITY_ENTRY
do do
_HPLOG_SEVERITIES="${_HPLOG_SEVERITIES}(([0-9]+)\s*${_SEVERITY_ENTRY})|" _HPLOG_SEVERITIES="${_HPLOG_SEVERITIES}(([0-9]+)\s*${_SEVERITY_ENTRY})|"
done done
@ -110,6 +111,8 @@ ${_HPLOG_BIN} -v >${HC_STDOUT_LOG} 2>>${HC_STDERR_LOG}
(( $? != 0 )) && { (( $? != 0 )) && {
_MSG="unable to run ${_HPLOG_BIN}" _MSG="unable to run ${_HPLOG_BIN}"
log_hc "$0" 1 "${_MSG}" log_hc "$0" 1 "${_MSG}"
# dump debug info
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
return 0 return 0
} }
@ -143,7 +146,7 @@ then
_MSG="found ${_STC_COUNT} new HPLOG messages {${_HPLOG_BIN} -v}" _MSG="found ${_STC_COUNT} new HPLOG messages {${_HPLOG_BIN} -v}"
_STC=1 _STC=1
# add results to state file (must be sorted; re-use TMP_FILE) # add results to state file (must be sorted; re-use TMP_FILE)
sort -u ${_TMP1_FILE} ${_TMP2_FILE} > ${_STATE_FILE} sort -u ${_TMP1_FILE} ${_TMP2_FILE} >${_STATE_FILE} 2>/dev/null
(( $? > 0 )) && { (( $? > 0 )) && {
warn "failed to sort temporary state file" warn "failed to sort temporary state file"
return 1 return 1

View File

@ -23,6 +23,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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_linux_hpssacli
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf" typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
typeset _VERSION="2016-04-01" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -160,9 +161,9 @@ then
print "=== SSA controller(s) ===" >>${HC_STDOUT_LOG} print "=== SSA controller(s) ===" >>${HC_STDOUT_LOG}
cat ${_TMP_FILE} >>${HC_STDOUT_LOG} cat ${_TMP_FILE} >>${HC_STDOUT_LOG}
# get all slot numbers for multiple raid controllers # get all slot numbers for multiple raid controllers
cat ${_TMP_FILE} | grep "in Slot [0-9]" | while read _SSA_LINE cat ${_TMP_FILE} | grep "in Slot [0-9]" 2>/dev/null | while read _SSA_LINE
do do
_SLOT_NUM="$(print ${_SSA_LINE} | cut -f6 -d' ')" _SLOT_NUM="$(print ${_SSA_LINE} | cut -f6 -d' ' 2>/dev/null)"
case "${_DO_SSA_LOGL}" in case "${_DO_SSA_LOGL}" in
+([0-9])*([0-9])) +([0-9])*([0-9]))
# numeric OK # numeric OK

View File

@ -25,6 +25,7 @@
# @(#) 2017-04-23: initial version [Patrick Van der Veken] # @(#) 2017-04-23: initial version [Patrick Van der Veken]
# @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken] # @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken]
# @(#) 2017-05-17: removed _MSG dupe [Patrick Van der Veken] # @(#) 2017-05-17: removed _MSG dupe [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_httpd_status
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _HTTPD_INIT_SCRIPT="/etc/init.d/httpd" typeset _HTTPD_INIT_SCRIPT="/etc/init.d/httpd"
typeset _HTTPD_SYSTEMD_SERVICE="httpd.service" typeset _HTTPD_SYSTEMD_SERVICE="httpd.service"
typeset _VERSION="2017-05-17" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -64,7 +65,7 @@ done
linux_get_init linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
systemctl --quiet is-active ${_HTTPD_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_HTTPD_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -74,7 +75,7 @@ case "${LINUX_INIT}" in
# check running SysV # check running SysV
if [[ -x ${_HTTPD_INIT_SCRIPT} ]] if [[ -x ${_HTTPD_INIT_SCRIPT} ]]
then then
if (( $(${_HTTPD_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running') == 0 )) if (( $(${_HTTPD_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
@ -91,7 +92,7 @@ esac
# 2) try the pgrep way (note: old pgreps do not support '-c') # 2) try the pgrep way (note: old pgreps do not support '-c')
if (( _RC != 0 )) if (( _RC != 0 ))
then then
(( $(pgrep -u root httpd 2>>${HC_STDERR_LOG} | wc -l) == 0 )) && _STC=1 (( $(pgrep -u root httpd 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=1
fi fi
# evaluate results # evaluate results

View File

@ -24,6 +24,7 @@
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 2013-12-01: initial version [Patrick Van der Veken] # @(#) 2013-12-01: initial version [Patrick Van der Veken]
# @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken] # @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_linux_named_status function check_linux_named_status
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _VERSION="2017-05-08" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -75,7 +76,7 @@ esac
linux_get_init linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
systemctl --quiet is-active ${_NAMED_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_NAMED_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -85,7 +86,7 @@ case "${LINUX_INIT}" in
# check running named # check running named
if [[ -x ${_NAMED_INIT_SCRIPT} ]] if [[ -x ${_NAMED_INIT_SCRIPT} ]]
then then
if (( $(${_NAMED_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running') == 0 )) if (( $(${_NAMED_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
@ -102,7 +103,7 @@ esac
# 2) try the pgrep way (note: old pgreps do not support '-c') # 2) try the pgrep way (note: old pgreps do not support '-c')
if (( _RC != 0 )) if (( _RC != 0 ))
then then
(( $(pgrep -u root named 2>>${HC_STDERR_LOG} | wc -l) == 0 )) && _STC=1 (( $(pgrep -u root named 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=1
fi fi
# evaluate results # evaluate results

View File

@ -23,6 +23,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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_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-03-20" # YYYY-MM-DD typeset _VERSION="2018-05-21" # 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 ---------------------------
@ -80,7 +81,7 @@ fi
linux_get_init linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
systemctl --quiet is-active ${_NTPD_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_NTPD_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -90,7 +91,7 @@ case "${LINUX_INIT}" in
# check running SysV # check running SysV
if [[ -x ${_NTPD_INIT_SCRIPT} ]] if [[ -x ${_NTPD_INIT_SCRIPT} ]]
then then
if (( $(${_NTPD_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running') == 0 )) if (( $(${_NTPD_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
@ -107,13 +108,13 @@ esac
# evaluate results # evaluate results
case ${_STC} in case ${_STC} in
0) 0)
_MSG="postfix is running" _MSG="ntpd is running"
;; ;;
1) 1)
_MSG="postfix is not running" _MSG="ntpd is not running"
;; ;;
*) *)
_MSG="could not determine status of postfix" _MSG="could not determine status of n"
;; ;;
esac esac
log_hc "$0" ${_STC} "${_MSG}" log_hc "$0" ${_STC} "${_MSG}"
@ -131,7 +132,7 @@ else
fi fi
# 1) active server # 1) active server
_NTP_PEER="$(grep -E -e '^\*' 2>/dev/null ${HC_STDOUT_LOG} | awk '{ print $1 }')" _NTP_PEER="$(grep -E -e '^\*' 2>/dev/null ${HC_STDOUT_LOG} | awk '{ print $1 }') 2>/dev/null"
case ${_NTP_PEER} in case ${_NTP_PEER} in
\*127.127.1.0*) \*127.127.1.0*)
_MSG="NTP is synchronizing against its internal clock" _MSG="NTP is synchronizing against its internal clock"
@ -151,11 +152,11 @@ log_hc "$0" ${_STC} "${_MSG}"
# 2) offset value # 2) offset value
if (( _STC == 0 )) if (( _STC == 0 ))
then then
_CURR_OFFSET="$(grep -E -e '^\*' 2>/dev/null ${HC_STDOUT_LOG} | awk '{ print $9 }')" _CURR_OFFSET="$(grep -E -e '^\*' 2>/dev/null ${HC_STDOUT_LOG} | awk '{ print $9 }') 2>/dev/null"
case ${_CURR_OFFSET} in case ${_CURR_OFFSET} in
+([-0-9])*(.)*([0-9])) +([-0-9])*(.)*([0-9]))
# numeric, OK (negatives are OK too!) # numeric, OK (negatives are OK too!)
if (( $(awk -v c="${_CURR_OFFSET}" -v m="${_MAX_OFFSET}" 'BEGIN { print (c>m) }') != 0 )) if (( $(awk -v c="${_CURR_OFFSET}" -v m="${_MAX_OFFSET}" 'BEGIN { print (c>m) }' 2>/dev/null) != 0 ))
then then
_MSG="NTP offset of ${_CURR_OFFSET} is bigger than the configured maximum of ${_MAX_OFFSET}" _MSG="NTP offset of ${_CURR_OFFSET} is bigger than the configured maximum of ${_MAX_OFFSET}"
_STC=1 _STC=1

View File

@ -25,6 +25,7 @@
# @(#) 2016-12-01: initial version [Patrick Van der Veken] # @(#) 2016-12-01: initial version [Patrick Van der Veken]
# @(#) 2017-05-08: suppress errors on postfix call + fix fall-back # @(#) 2017-05-08: suppress errors on postfix call + fix fall-back
# @(#) for sysv->pgrep[Patrick Van der Veken] # @(#) for sysv->pgrep[Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_postfix_status
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _POSTFIX_INIT_SCRIPT="/etc/init.d/postfix" typeset _POSTFIX_INIT_SCRIPT="/etc/init.d/postfix"
typeset _POSTFIX_SYSTEMD_SERVICE="postfix.service" typeset _POSTFIX_SYSTEMD_SERVICE="postfix.service"
typeset _VERSION="2017-05-08" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -63,7 +64,7 @@ done
linux_get_init linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
systemctl --quiet is-active ${_POSTFIX_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_POSTFIX_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -73,7 +74,7 @@ case "${LINUX_INIT}" in
# check running SysV # check running SysV
if [[ -x ${_POSTFIX_INIT_SCRIPT} ]] if [[ -x ${_POSTFIX_INIT_SCRIPT} ]]
then then
if (( $(${_POSTFIX_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running') == 0 )) if (( $(${_POSTFIX_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
@ -93,7 +94,7 @@ then
_POSTFIX_BIN="$(which postfix 2>>${HC_STDERR_LOG})" _POSTFIX_BIN="$(which postfix 2>>${HC_STDERR_LOG})"
if [[ -x ${_POSTFIX_BIN} && -n "${_POSTFIX_BIN}" ]] if [[ -x ${_POSTFIX_BIN} && -n "${_POSTFIX_BIN}" ]]
then then
if (( $(${_POSTFIX_BIN} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running') == 0 )) if (( $(${_POSTFIX_BIN} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi

View File

@ -23,6 +23,7 @@
# #
# @(#) HISTORY: # @(#) HISTORY:
# @(#) 2013-09-19: initial version [Patrick Van der Veken] # @(#) 2013-09-19: initial version [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_linux_root_crontab
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf" typeset _CONFIG_FILE="${CONFIG_DIR}/$0.conf"
typeset _VERSION="2013-09-19" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -85,7 +86,7 @@ if [[ -d /etc/cron.d ]]
then then
cat /etc/cron.d/* | while read _CRON_LINE cat /etc/cron.d/* | while read _CRON_LINE
do do
if [[ $(print "${_CRON_LINE}" | awk '{print $6}') == "root" ]] if [[ $(print "${_CRON_LINE}" | awk '{print $6}' 2>/dev/null) == "root" ]]
then then
print "${_CRON_LINE}" >>${HC_STDOUT_LOG} 2>>${HC_STDERR_LOG} print "${_CRON_LINE}" >>${HC_STDOUT_LOG} 2>>${HC_STDERR_LOG}
fi fi
@ -96,7 +97,7 @@ fi
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _CRON_ENTRY grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | while read _CRON_ENTRY
do do
_CRON_MATCH=$(grep -v '^#' ${HC_STDOUT_LOG} 2>/dev/null |\ _CRON_MATCH=$(grep -v '^#' ${HC_STDOUT_LOG} 2>/dev/null |\
grep -c -E -e "${_CRON_ENTRY}") grep -c -E -e "${_CRON_ENTRY}" 2>/dev/null)
case ${_CRON_MATCH} in case ${_CRON_MATCH} in
0) 0)
_MSG="'${_CRON_ENTRY}' is not configured in cron" _MSG="'${_CRON_ENTRY}' is not configured in cron"

View File

@ -26,6 +26,7 @@
# @(#) 2016-12-01: added systemd code [Patrick Van der Veken] # @(#) 2016-12-01: added systemd code [Patrick Van der Veken]
# @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken] # @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken]
# @(#) 2017-07-23: fix for systemd service names [Patrick Van der Veken] # @(#) 2017-07-23: fix for systemd service names [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_linux_samba_status
typeset _SMB_INIT_SCRIPT="/etc/init.d/samba" typeset _SMB_INIT_SCRIPT="/etc/init.d/samba"
typeset _SMB_SYSTEMD_SERVICE="smb.service" typeset _SMB_SYSTEMD_SERVICE="smb.service"
typeset _NMB_SYSTEMD_SERVICE="nmb.service" typeset _NMB_SYSTEMD_SERVICE="nmb.service"
typeset _VERSION="2017-07-23" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -65,9 +66,9 @@ linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
# check running NMB # check running NMB
systemctl --quiet is-active ${_NMB_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_NMB_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
# check running SMB # check running SMB
systemctl --quiet is-active ${_SMB_SYSTEMD_SERVICE} || _STC=$(( _STC + 2 )) systemctl --quiet is-active ${_SMB_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=$(( _STC + 2 ))
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -77,12 +78,12 @@ case "${LINUX_INIT}" in
# check running NMB/SMB # check running NMB/SMB
if [[ -x ${_SMB_INIT_SCRIPT} ]] if [[ -x ${_SMB_INIT_SCRIPT} ]]
then then
if (( $(${_SMB_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i -E -e 'NMB.*is running.*') == 0 )) if (( $(${_SMB_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i -E -e 'NMB.*is running.*' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
# check running SMB # check running SMB
if (( $(${_SMB_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i -E -e 'SMB.*is running.*') == 0 )) if (( $(${_SMB_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i -E -e 'SMB.*is running.*' 2>/dev/null) == 0 ))
then then
_STC=$(( _STC + 2 )) _STC=$(( _STC + 2 ))
fi fi
@ -99,8 +100,8 @@ esac
# 2) try the pgrep way (note: old pgreps do not support '-c') # 2) try the pgrep way (note: old pgreps do not support '-c')
if (( _RC != 0 )) if (( _RC != 0 ))
then then
(( $(pgrep -u root nmbd 2>>${HC_STDERR_LOG}| wc -l) == 0 )) && _STC=1 (( $(pgrep -u root nmbd 2>>${HC_STDERR_LOG}| wc -l 2>/dev/null) == 0 )) && _STC=1
(( $(pgrep -u root smbd 2>>${HC_STDERR_LOG} | wc -l) == 0 )) && _STC=$(( _STC + 2 )) (( $(pgrep -u root smbd 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=$(( _STC + 2 ))
fi fi
# evaluate results # evaluate results

View File

@ -19,10 +19,11 @@
# @(#) MAIN: check_linux_sg_cluster_status # @(#) MAIN: check_linux_sg_cluster_status
# DOES: see _show_usage() # DOES: see _show_usage()
# EXPECTS: see _show_usage() # EXPECTS: see _show_usage()
# REQUIRES: data_space2comma(), init_hc(), log_hc(), warn() # REQUIRES: data_space2comma(), dump_logs(), init_hc(), log_hc(), warn()
# #
# @(#) 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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_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="2017-04-01" # YYYY-MM-DD typeset _VERSION="2018-05-21" # 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
@ -79,7 +80,7 @@ then
fi fi
# look for cluster instance names # look for cluster instance names
grep -E -e '^\[' ${_CONFIG_FILE} 2>/dev/null | cut -f1 -d']' | cut -f2 -d'[' |\ grep -E -e '^\[' ${_CONFIG_FILE} 2>/dev/null | cut -f1 -d']' 2>/dev/null | cut -f2 -d'[' 2>/dev/null |\
while read _CLUSTER_INSTANCE while read _CLUSTER_INSTANCE
do do
_CLUSTER_INSTANCES="${_CLUSTER_INSTANCES} ${_CLUSTER_INSTANCE}" _CLUSTER_INSTANCES="${_CLUSTER_INSTANCES} ${_CLUSTER_INSTANCE}"
@ -103,6 +104,8 @@ else
[[ -s ${_CLUSTER_RUN_FILE}.${_CLUSTER_INSTANCE} ]] || { [[ -s ${_CLUSTER_RUN_FILE}.${_CLUSTER_INSTANCE} ]] || {
_MSG="unable to gather cluster configuration" _MSG="unable to gather cluster configuration"
log_hc "$0" 1 "${_MSG}" log_hc "$0" 1 "${_MSG}"
# dump debug info
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
return 0 return 0
} }
done done
@ -142,11 +145,11 @@ do
while read _CLUSTER_ENTRY while read _CLUSTER_ENTRY
do do
# split entry to get the compressed version # split entry to get the compressed version
_CLUSTER_CFG_ENTRY=$(print "${_CLUSTER_ENTRY}" | cut -f2 -d'|') _CLUSTER_CFG_ENTRY=$(print "${_CLUSTER_ENTRY}" | cut -f2 -d'|' 2>/dev/null)
# get parameter name from non-compressed version # get parameter name from non-compressed version
_CLUSTER_PARAM=$(print "${_CLUSTER_ENTRY}" | cut -f1 -d'|' | awk '{ print $1 }') _CLUSTER_PARAM=$(print "${_CLUSTER_ENTRY}" | cut -f1 -d'|' 2>/dev/null | awk '{ print $1 }' 2>/dev/null)
# get parameter value from non-compressed version # get parameter value from non-compressed version
_CLUSTER_VALUE=$(print "${_CLUSTER_ENTRY}" | cut -f1 -d'|' | awk '{ print substr($2,1,30)}') _CLUSTER_VALUE=$(print "${_CLUSTER_ENTRY}" | cut -f1 -d'|' 2>/dev/null | awk '{ print substr($2,1,30)}' 2>/dev/null)
# is it present? # is it present?
_CLUSTER_MATCH=$(grep -c "${_CLUSTER_CFG_ENTRY}" ${_CLUSTER_RUN_FILE}.${_CLUSTER_INSTANCE} 2>/dev/null) _CLUSTER_MATCH=$(grep -c "${_CLUSTER_CFG_ENTRY}" ${_CLUSTER_RUN_FILE}.${_CLUSTER_INSTANCE} 2>/dev/null)
if (( _CLUSTER_MATCH == 0 )) if (( _CLUSTER_MATCH == 0 ))

View File

@ -25,6 +25,7 @@
# @(#) 2017-04-01: initial version [Patrick Van der Veken] # @(#) 2017-04-01: initial version [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-05-21: STDERR fixes [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_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-20" # YYYY-MM-DD typeset _VERSION="2018-05-21" # 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 ---------------------------
@ -78,7 +79,7 @@ then
warn "${_SG_DAEMON} is not installed here" warn "${_SG_DAEMON} is not installed here"
return 1 return 1
else else
cmviewcl -v -f line 2>>${HC_STDERR_LOG} | tr '|' ':' >>${HC_STDOUT_LOG} cmviewcl -v -f line 2>>${HC_STDERR_LOG} | tr '|' ':' >>${HC_STDOUT_LOG} 2>/dev/null
(( $? != 0 )) && { (( $? != 0 )) && {
_MSG="unable to run command: {cmviewcl}" _MSG="unable to run command: {cmviewcl}"
log_hc "$0" 1 "${_MSG}" log_hc "$0" 1 "${_MSG}"
@ -90,17 +91,18 @@ fi
# do cluster status checks # do cluster status checks
# (replace ':' by '|' for cmcviewcl output) # (replace ':' by '|' for cmcviewcl output)
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | tr '|' ':' | while read _SG_ENTRY grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | tr '|' ':' 2>/dev/null |\
while read _SG_ENTRY
do do
# field split # field split
_SG_CFG_PARAM="$(print ${_SG_ENTRY} | cut -f1 -d'=')" # field 1 _SG_CFG_PARAM="$(print ${_SG_ENTRY} | cut -f1 -d'=' 2>/dev/null)" # field 1
_SG_CFG_VALUE="$(print ${_SG_ENTRY} | cut -f2 -d'=')" # field 2 _SG_CFG_VALUE="$(print ${_SG_ENTRY} | cut -f2 -d'=' 2>/dev/null)" # field 2
# check run-time values (anchored grep here!) # check run-time values (anchored grep here!)
_SG_MATCH=$(grep -i "^${_SG_CFG_PARAM}" ${HC_STDOUT_LOG} 2>/dev/null) _SG_MATCH=$(grep -i "^${_SG_CFG_PARAM}" ${HC_STDOUT_LOG} 2>/dev/null)
if [[ -n "${_SG_MATCH}" ]] if [[ -n "${_SG_MATCH}" ]]
then then
_SG_RUN_VALUE=$(print "${_SG_MATCH}" | cut -f2 -d'=') # field 2 _SG_RUN_VALUE=$(print "${_SG_MATCH}" | cut -f2 -d'=' 2>/dev/null) # field 2
if [[ "${_SG_CFG_VALUE}" = "${_SG_RUN_VALUE}" ]] if [[ "${_SG_CFG_VALUE}" = "${_SG_RUN_VALUE}" ]]
then then

View File

@ -19,10 +19,11 @@
# @(#) MAIN: check_linux_sg_package_config # @(#) MAIN: check_linux_sg_package_config
# DOES: see _show_usage() # DOES: see _show_usage()
# EXPECTS: see _show_usage() # EXPECTS: see _show_usage()
# REQUIRES: data_space2comma(), init_hc(), log_hc(), warn() # REQUIRES: data_space2comma(), dump_logs(), init_hc(), log_hc(), warn()
# #
# @(#) 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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_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="2017-04-01" # YYYY-MM-DD typeset _VERSION="2018-05-21" # 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
@ -79,7 +80,7 @@ then
fi fi
# look for package instance names # look for package instance names
grep -E -e '^\[' ${_CONFIG_FILE} 2>/dev/null | cut -f1 -d']' | cut -f2 -d'[' |\ grep -E -e '^\[' ${_CONFIG_FILE} 2>/dev/null | cut -f1 -d']' 2>/dev/null | cut -f2 -d'[' 2>/dev/null |\
while read _PKG_INSTANCE while read _PKG_INSTANCE
do do
_PKG_INSTANCES="${_PKG_INSTANCES} ${_PKG_INSTANCE}" _PKG_INSTANCES="${_PKG_INSTANCES} ${_PKG_INSTANCE}"
@ -103,6 +104,8 @@ else
[[ -s ${_PKG_RUN_FILE}.${_PKG_INSTANCE} ]] || { [[ -s ${_PKG_RUN_FILE}.${_PKG_INSTANCE} ]] || {
_MSG="unable to gather package configuration for at least one cluster package" _MSG="unable to gather package configuration for at least one cluster package"
log_hc "$0" 1 "${_MSG}" log_hc "$0" 1 "${_MSG}"
# dump debug info
(( ARG_DEBUG != 0 && ARG_DEBUG_LEVEL > 0 )) && dump_logs
return 0 return 0
} }
done done
@ -142,11 +145,11 @@ do
while read _PKG_ENTRY while read _PKG_ENTRY
do do
# split entry to get the compressed version # split entry to get the compressed version
_PKG_CFG_ENTRY=$(print "${_PKG_ENTRY}" | cut -f2 -d'|') _PKG_CFG_ENTRY=$(print "${_PKG_ENTRY}" | cut -f2 -d'|' 2>/dev/null)
# get parameter name from non-compressed version # get parameter name from non-compressed version
_PKG_PARAM=$(print "${_PKG_ENTRY}" | awk '{ print $1 }') _PKG_PARAM=$(print "${_PKG_ENTRY}" | awk '{ print $1 }' 2>/dev/null)
# get parameter value from non-compressed version # get parameter value from non-compressed version
_PKG_VALUE=$(print "${_PKG_ENTRY}" | cut -f1 -d'|' | awk '{ print substr($2,1,30)}') _PKG_VALUE=$(print "${_PKG_ENTRY}" | cut -f1 -d'|' 2>/dev/null| awk '{ print substr($2,1,30)}' 2>/dev/null)
# is it present? # is it present?
_PKG_MATCH=$(grep -c "${_PKG_CFG_ENTRY}" ${_PKG_RUN_FILE}.${_PKG_INSTANCE} 2>/dev/null) _PKG_MATCH=$(grep -c "${_PKG_CFG_ENTRY}" ${_PKG_RUN_FILE}.${_PKG_INSTANCE} 2>/dev/null)
if (( _PKG_MATCH == 0 )) if (( _PKG_MATCH == 0 ))

View File

@ -25,6 +25,7 @@
# @(#) 2017-04-01: initial version [Patrick Van der Veken] # @(#) 2017-04-01: initial version [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-05-21: STDERR fixes [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_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-20" # YYYY-MM-DD typeset _VERSION="2018-05-21" # 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 ---------------------------
@ -91,18 +92,18 @@ fi
# do package status checks # do package status checks
# (replace ':' by '|' for cmcviewcl output) # (replace ':' by '|' for cmcviewcl output)
grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | tr '|' ':' | while read _SG_ENTRY grep -v -E -e '^$' -e '^#' ${_CONFIG_FILE} 2>/dev/null | tr '|' ':' 2>/dev/null | while read _SG_ENTRY
do do
# field split # field split
_SG_PACKAGE="$(print ${_SG_ENTRY} | cut -f1 -d':')" _SG_PACKAGE="$(print ${_SG_ENTRY} | cut -f1 -d':')"
_SG_CFG_PARAM="$(print ${_SG_ENTRY} | cut -f2- -d':' | cut -f1 -d'=')" # field 2-,1 _SG_CFG_PARAM="$(print ${_SG_ENTRY} | cut -f2- -d':' 2>/dev/null | cut -f1 -d'=' 2>/dev/null)" # field 2-,1
_SG_CFG_VALUE="$(print ${_SG_ENTRY} | cut -f2- -d':' | cut -f2 -d'=')" # field 2-,2 _SG_CFG_VALUE="$(print ${_SG_ENTRY} | cut -f2- -d':' 2>/dev/null | cut -f2 -d'=' 2>/dev/null)" # field 2-,2
# check run-time values (anchored grep here!) # check run-time values (anchored grep here!)
_SG_MATCH=$(grep -i "^package:${_SG_PACKAGE}:${_SG_CFG_PARAM}" ${HC_STDOUT_LOG} 2>/dev/null) _SG_MATCH=$(grep -i "^package:${_SG_PACKAGE}:${_SG_CFG_PARAM}" ${HC_STDOUT_LOG} 2>/dev/null)
if [[ -n "${_SG_MATCH}" ]] if [[ -n "${_SG_MATCH}" ]]
then then
_SG_RUN_VALUE=$(print "${_SG_MATCH}" | cut -f3- -d':' | cut -f2 -d'=') # field3-,2 _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}" ]] if [[ "${_SG_CFG_VALUE}" = "${_SG_RUN_VALUE}" ]]
then then

View File

@ -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-05-21: STDERR fixes [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_linux_sg_qs_status function check_linux_sg_qs_status
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _VERSION="2017-05-01" # YYYY-MM-DD typeset _VERSION="2018-05-1" # 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"
@ -64,7 +65,7 @@ then
fi fi
# ---- process state ---- # ---- process state ----
(( $(pgrep -u root -f ${_QS_BIN} 2>>${HC_STDERR_LOG} | wc -l) == 0 )) && _STC=1 (( $(pgrep -u root -f ${_QS_BIN} 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=1
# evaluate results # evaluate results
case ${_STC} in case ${_STC} in

View File

@ -25,6 +25,7 @@
# @(#) 2016-12-01: initial version [Patrick Van der Veken] # @(#) 2016-12-01: initial version [Patrick Van der Veken]
# @(#) 2017-05-05: fix fall-back for sysv->pgrep [Patrick Van der Veken] # @(#) 2017-05-05: fix fall-back for sysv->pgrep [Patrick Van der Veken]
# @(#) 2017-05-08: set init/systemd based on distro [Patrick Van der Veken] # @(#) 2017-05-08: set init/systemd based on distro [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_sshd_status function check_linux_sshd_status
{ {
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _VERSION="2017-05-08" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -74,7 +75,7 @@ esac
linux_get_init linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
systemctl --quiet is-active ${_SSHD_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_SSHD_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -83,7 +84,7 @@ case "${LINUX_INIT}" in
'sysv') 'sysv')
if [[ -x ${_SSHD_INIT_SCRIPT} ]] if [[ -x ${_SSHD_INIT_SCRIPT} ]]
then then
if (( $(${_SSHD_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running') == 0 )) if (( $(${_SSHD_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'is running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
@ -100,7 +101,7 @@ esac
# 2) try the pgrep way (note: old pgreps do not support '-c') # 2) try the pgrep way (note: old pgreps do not support '-c')
if (( _RC != 0 )) if (( _RC != 0 ))
then then
(( $(pgrep -P 1 -u root sshd 2>>${HC_STDERR_LOG} | wc -l) == 0 )) && _STC=1 (( $(pgrep -P 1 -u root sshd 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=1
fi fi
# evaluate results # evaluate results

View File

@ -27,6 +27,7 @@
# @(#) 2017-06-08: return 1 on error [Patrick Van der Veken] # @(#) 2017-06-08: return 1 on error [Patrick Van der Veken]
# @(#) 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]
# ----------------------------------------------------------------------------- # -----------------------------------------------------------------------------
# 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_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-20" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -91,8 +92,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';')) _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';')) _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
@ -138,8 +139,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 ' ' ';' | cut -f3 -d';')) _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 ' ' ';' | cut -f4 -d';')) _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

View File

@ -25,6 +25,7 @@
# @(#) 2013-05-17: initial version [Patrick Van der Veken] # @(#) 2013-05-17: initial version [Patrick Van der Veken]
# @(#) 2016-12-01: added systemd code [Patrick Van der Veken] # @(#) 2016-12-01: added systemd code [Patrick Van der Veken]
# @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken] # @(#) 2017-05-08: fix fall-back for sysv->pgrep [Patrick Van der Veken]
# @(#) 2018-05-21: STDERR fixes [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_winbind_status
# ------------------------- CONFIGURATION starts here ------------------------- # ------------------------- CONFIGURATION starts here -------------------------
typeset _WINBIND_INIT_SCRIPT="/etc/init.d/winbind" typeset _WINBIND_INIT_SCRIPT="/etc/init.d/winbind"
typeset _WINBIND_SYSTEMD_SERVICE="winbind.service" typeset _WINBIND_SYSTEMD_SERVICE="winbind.service"
typeset _VERSION="2017-05-08" # YYYY-MM-DD typeset _VERSION="2018-05-21" # YYYY-MM-DD
typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match typeset _SUPPORTED_PLATFORMS="Linux" # uname -s match
# ------------------------- CONFIGURATION ends here --------------------------- # ------------------------- CONFIGURATION ends here ---------------------------
@ -62,7 +63,7 @@ done
linux_get_init linux_get_init
case "${LINUX_INIT}" in case "${LINUX_INIT}" in
'systemd') 'systemd')
systemctl --quiet is-active ${_WINBIND_SYSTEMD_SERVICE} || _STC=1 systemctl --quiet is-active ${_WINBIND_SYSTEMD_SERVICE} 2>>${HC_STDERR_LOG} || _STC=1
;; ;;
'upstart') 'upstart')
warn "code for upstart managed systems not implemented, NOOP" warn "code for upstart managed systems not implemented, NOOP"
@ -71,7 +72,7 @@ case "${LINUX_INIT}" in
'sysv') 'sysv')
if [[ -x ${_WINBIND_INIT_SCRIPT} ]] if [[ -x ${_WINBIND_INIT_SCRIPT} ]]
then then
if (( $(${_WINBIND_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'running') == 0 )) if (( $(${_WINBIND_INIT_SCRIPT} status 2>>${HC_STDERR_LOG} | grep -c -i 'running' 2>/dev/null) == 0 ))
then then
_STC=1 _STC=1
fi fi
@ -88,7 +89,7 @@ esac
# 2) try the pgrep way (note: old pgreps do not support '-c') # 2) try the pgrep way (note: old pgreps do not support '-c')
if (( _RC != 0 )) if (( _RC != 0 ))
then then
(( $(pgrep -u root winbind 2>>${HC_STDERR_LOG} | wc -l) == 0 )) && _STC=1 (( $(pgrep -u root winbind 2>>${HC_STDERR_LOG} | wc -l 2>/dev/null) == 0 )) && _STC=1
fi fi
# evaluate & log results # evaluate & log results