diff --git a/nodemgmt-scripts.sh b/nodemgmt-scripts.sh index 668665ca..7c5be1f0 100755 --- a/nodemgmt-scripts.sh +++ b/nodemgmt-scripts.sh @@ -25,49 +25,7 @@ STATUS(){ ST_ACTION=repl fi declare -i cw; declare -i spc1; declare -i c - ######################## - if [ "${ST_ACTION}" == "report" ] || [ "${ST_ACTION}" == "repl" ] || [ "${ST_ACTION}" == "check" ] || [ "${ST_ACTION}" == "" ]; then - if [ ! -f ${FOLDER}/test.repl ]; then - touch ${FOLDER}/test.repl - if [ "${ST_ACTION}" != "check" ]; then - echo -en "${idsCL[LightCyan]}Setting up status checks... ${idsCL[Default]}" - fi - #NHCMD="ssh root@${MYSQL_HOSTS[0]}" - #LBHCMD="ssh root@${LB_HOSTS[0]}" - #WHCMD="ssh root@${WEB_HOSTS[0]}" - for NTYPE in "${NODE_TYPES[@]}"; do - PH=${NTYPE}_HOSTS[0] - PH_CMD="ssh root@${!PH}" - var=${NTYPE}_REPL_CHECK[@] - if [ ! -z ${!var+x} ]; then - for rcheck in "${!var}"; do - # echo "CHECK: ${NTYPE} - ${!PH} - ${REPL_CHECKS[${rcheck}]}" - ${PH_CMD} rm -f ${FOLDER}/test.repl - daterun=`date +%Y-%m-%d-%H-%M-%S` - if [ "${PH_CMD}" = "" ]; then - echo -e "${NM_NODETYPES[$NTYPE]}-Node${nid} (${nip})\n${daterun}" > ${FOLDER}/test.repl - yes | cp -rfH ${FOLDER}/test.repl ${REPL_CHECKS[${rcheck}]}/test.repl - else - ${PH_CMD} "echo -e \"Status-Check (${NODE_HOSTNAME})\n${daterun}\" > ${REPL_CHECKS[${rcheck}]}/test.repl" - # ${PH_CMD} "echo -e \"Status-Check (${NODE_HOSTNAME})\n${daterun}\" > ${FOLDER}/test.repl" - # yes | ${PH_CMD} "cp -rfH ${FOLDER}/test.repl ${REPL_CHECKS[${rcheck}]}/test.repl" - fi - done - fi - done - if [ "${ST_ACTION}" != "check" ]; then - echo -e "${idsCL[Green]}Complete${idsCL[Default]}" - echo - fi - [ "${ST_ACTION}" != "repl" ] && CHECKFOLDERSYNC=false || CHECKFOLDERSYNC=true - else - rm -Rf ${FOLDER}/test.repl - if [ "${ST_ACTION}" != "check" ]; then - echo -e "${idsCL[LightCyan]}Will verify folder syncs... ${idsCL[Default]}" - CHECKFOLDERSYNC=true - fi - fi - fi + ######################## if [ "${ST_ACTION}" = "" ] || [ "${ST_ACTION}" = "report" ] || [ "${ST_ACTION}" = "services" ] || [ "${ST_ACTION}" = "dockers" ] || [ "${ST_ACTION}" = "check" ]; then if [ ! -z ${LOCAL_SERVICES+x} ]; then @@ -380,7 +338,52 @@ STATUS(){ ######################## ## REPLICATION CHECK ######################## - if [ "${ST_ACTION}" == "" ] || [ "${ST_ACTION}" == "report" ] || [ "${ST_ACTION}" == "repl" ]; then + + ######################## + if [ "${ST_ACTION}" == "report" ] || [ "${ST_ACTION}" == "repl" ] || [ "${ST_ACTION}" == "check" ] || [ "${ST_ACTION}" == "" ]; then + if [ ! -f ${FOLDER}/test.repl ]; then + touch ${FOLDER}/test.repl + if [ "${ST_ACTION}" != "check" ]; then + echo -en "${idsCL[LightCyan]}Setting up status checks... ${idsCL[Default]}" + fi + #NHCMD="ssh root@${MYSQL_HOSTS[0]}" + #LBHCMD="ssh root@${LB_HOSTS[0]}" + #WHCMD="ssh root@${WEB_HOSTS[0]}" + for NTYPE in "${NODE_TYPES[@]}"; do + PH=${NTYPE}_HOSTS[0] + if [ ! -f ${FOLDER}/${!PH}.down ]; then + PH_CMD="ssh root@${!PH}" + var=${NTYPE}_REPL_CHECK[@] + if [ ! -z ${!var+x} ]; then + for rcheck in "${!var}"; do + # echo "CHECK: ${NTYPE} - ${!PH} - ${REPL_CHECKS[${rcheck}]}" + ${PH_CMD} rm -f ${FOLDER}/test.repl + daterun=`date +%Y-%m-%d-%H-%M-%S` + if [ "${PH_CMD}" = "" ]; then + echo -e "${NM_NODETYPES[$NTYPE]}-Node${nid} (${nip})\n${daterun}" > ${FOLDER}/test.repl + yes | cp -rfH ${FOLDER}/test.repl ${REPL_CHECKS[${rcheck}]}/test.repl + else + ${PH_CMD} "echo -e \"Status-Check (${NODE_HOSTNAME})\n${daterun}\" > ${REPL_CHECKS[${rcheck}]}/test.repl" + # ${PH_CMD} "echo -e \"Status-Check (${NODE_HOSTNAME})\n${daterun}\" > ${FOLDER}/test.repl" + # yes | ${PH_CMD} "cp -rfH ${FOLDER}/test.repl ${REPL_CHECKS[${rcheck}]}/test.repl" + fi + done + fi + fi + done + if [ "${ST_ACTION}" != "check" ]; then + echo -e "${idsCL[Green]}Complete${idsCL[Default]}" + echo + fi + [ "${ST_ACTION}" != "repl" ] && CHECKFOLDERSYNC=false || CHECKFOLDERSYNC=true + else + rm -Rf ${FOLDER}/test.repl + if [ "${ST_ACTION}" != "check" ]; then + echo -e "${idsCL[LightCyan]}Will verify folder syncs... ${idsCL[Default]}" + CHECKFOLDERSYNC=true + fi + fi + if [ "${CHECKFOLDERSYNC}" == true ]; then if [ "${ST_ACTION}" != "check" ]; then echo -e "${idsST[Bold]}"; DIVIDER @@ -419,16 +422,6 @@ STATUS(){ # checkhost=$(CHECK_HOST ${nip}) #if [ "${checkhost}" != "false" ]; then if [ ! -f ${FOLDER}/${!PH}.down ] && [ ! -f ${FOLDER}/${nip}.down ]; then - if [ -f ${FOLDER}/${nip}.down ]; then - if [ -f ${FOLDER}/${nip}.errtime ]; then - toterrtime=`date +%s`-$(stat -c %Y ${FOLDER}/${nip}.errtime) - else - toterrtime=`date +%s`-$(stat -c %Y ${FOLDER}/${nip}.down) - fi - - SENDNOTICE "${NM_NODETYPES[$NTYPE]}-Node${nid}-${nip}-UP" "${NM_NODETYPES[$NTYPE]}-Node${nid} is back UP! It was down for $(SHOW_TIME ${toterrtime})" - - fi var2=${NTYPE}_REPL_CHECK[@] # timeout=`date --date='20 seconds' +%s` for rcheck in "${!var2}"; do @@ -516,20 +509,22 @@ STATUS(){ #WHCMD="ssh root@${WEB_HOSTS[0]}" for NTYPE in "${NODE_TYPES[@]}"; do PH=${NTYPE}_HOSTS[0] - PH_CMD="ssh root@${!PH}" - var=${NTYPE}_REPL_CHECK[@] - if [ ! -z ${!var+x} ]; then - for rcheck in "${!var}"; do - ${PH_CMD} rm -f ${FOLDER}/test.repl - daterun=`date +%Y-%m-%d-%H-%M-%S` - if [ "${PH_CMD}" = "" ]; then - rm -f ${FOLDER}/test.repl - rm -f ${REPL_CHECKS[${rcheck}]}/test.repl - else + if [ ! -f ${FOLDER}/${!PH}.down ]; then + PH_CMD="ssh root@${!PH}" + var=${NTYPE}_REPL_CHECK[@] + if [ ! -z ${!var+x} ]; then + for rcheck in "${!var}"; do ${PH_CMD} rm -f ${FOLDER}/test.repl - ${PH_CMD} rm -f ${REPL_CHECKS[${rcheck}]}/test.repl - fi - done + daterun=`date +%Y-%m-%d-%H-%M-%S` + if [ "${PH_CMD}" = "" ]; then + rm -f ${FOLDER}/test.repl + rm -f ${REPL_CHECKS[${rcheck}]}/test.repl + else + ${PH_CMD} rm -f ${FOLDER}/test.repl + ${PH_CMD} rm -f ${REPL_CHECKS[${rcheck}]}/test.repl + fi + done + fi fi done rm -Rf ${FOLDER}/test.repl