diff --git a/nodemgmt-scripts.sh b/nodemgmt-scripts.sh index 23d57d29..acd7b0c7 100755 --- a/nodemgmt-scripts.sh +++ b/nodemgmt-scripts.sh @@ -137,34 +137,36 @@ case "$1" in ;; status-check) - if [ ! -z ${LOCAL_SERVICES+x} ]; then - NODE_HOSTS=("$(/sbin/ip -o -4 addr list ens192 | awk '{print $4}' | cut -d/ -f1)" "${NODE_HOSTS[@]}") - fi - IFS=,; SERVICES2=(${SERVICES1}); HOSTS2=(${HOSTS1}); unset IFS - - nid=1 - for nip in "${NODE_HOSTS[@]}" - do - if [ -z ${LOCAL_SERVICES+x} ]; then - SERVICES1=$( IFS=$','; echo "${NODE_SERVICES[*]}" ) - else - SERVICES1=$( IFS=$','; echo "${LOCAL_SERVICES[*]}" ) - fi - IFS=,; SERVICES2=(${SERVICES1}); unset IFS - if [[ $(/sbin/ip -o -4 addr list ens192 | awk '{print $4}' | cut -d/ -f1) == *"${nip}"* ]]; then NCMD='' - else NCMD="ssh root@${nip}" - fi - for srvc in "${SERVICES2[@]}" - do - echo "${nip} - checking ${srvc}" - if [ "${STATUS_CHECK_EMAIL}" != "" ]; then + if [ "${STATUS_CHECK_EMAIL}" != "" ]; then + if [ ! -z ${LOCAL_SERVICES+x} ]; then + lip=$(/sbin/ip -o -4 addr list ens192 | awk '{print $4}' | cut -d/ -f1) + for srvc in "${LOCAL_SERVICES[@]}" + do + echo "${lip} - checking ${srvc}" if [ $(${NCMD} pgrep ${srvc} | wc -l) -lt "1" ]; then - echo "${NM_SERVICES[${srvc}]} is down" | mail -s "iDS-Node${nid}-${nip}" ${STATUS_CHECK_EMAIL} + echo "${NM_SERVICES[${srvc}]} is down" | mail -s "iDS-Node${nid}-${lip}" ${STATUS_CHECK_EMAIL} fi - fi + done + fi + if [ -z ${LOCAL_SERVICES+x} ] || [ "${2}" = "all" ]; then + nid=1 + for nip in "${HOSTS2[@]}" + do + if [[ $(/sbin/ip -o -4 addr list ens192 | awk '{print $4}' | cut -d/ -f1) == *"${nip}"* ]]; then NCMD='' + else NCMD="ssh root@${nip}" + fi + for srvc in "${SERVICES2[@]}" + do + echo "${nip} - checking ${srvc}" + if [ "${STATUS_CHECK_EMAIL}" != "" ]; then + if [ $(${NCMD} pgrep ${srvc} | wc -l) -lt "1" ]; then + echo "${NM_SERVICES[${srvc}]} is down" | mail -s "iDS-Node${nid}-${nip}" ${STATUS_CHECK_EMAIL} + fi + fi + done + nid=`expr $nid + 1` done - nid=`expr $nid + 1` - done + fi ;; set-permissions)