From f6b56cb41624a54823764077c496e9933d75ee3c Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 25 Nov 2023 18:35:52 -0600 Subject: [PATCH] Update nodemgmt-scripts.sh --- nodemgmt-scripts.sh | 78 +++++++++++++++++++++------------------------ 1 file changed, 37 insertions(+), 41 deletions(-) diff --git a/nodemgmt-scripts.sh b/nodemgmt-scripts.sh index e555ac06..122c456d 100755 --- a/nodemgmt-scripts.sh +++ b/nodemgmt-scripts.sh @@ -315,7 +315,7 @@ KEEPALIVE-CONFIG() { echo } -NODEUPDATE() { +NODEUPDATES() { start=`date +%s` cw=40; if [ "${1}" = "report" ]; then @@ -341,50 +341,14 @@ NODEUPDATE() { echo for NTYPE in "${NM_NODE_TYPES[@]}"; do - nid=1 var=${NTYPE}_HOSTS[@] for nip in "${!var}"; do if [[ ${RUN_NODE_IP} == *"${nip}"* ]]; then nip='localhost ' fi - NCMD="ssh -tq root@${nip}" - NODE="${NM_HOSTNAMES[${nip}]} [${nip}]" - c=0; spca=''; spc1=${cw}-${#NODE}; until [ $c = ${spc1} ]; do spca="${spca} "; c=`expr $c + 1`; done - echo -en "Updating ${NODE}${spca}" + + NODEUPDATE "${nip}" "${2}" "${NMCMD}" - if [ "${nip}" != "100.100.2.1" ] && [ "${nip}" != "10.2.1.1" ] && [ ! -f ${NM_TMPFOLDER}/${nip}.down ]; then - if [ "${2}" != "sync" ]; then - echo -en " ~ ${idsCL[LightCyan]}NodeMGMT${idsCL[Default]} : " - if ! ${NCMD} command -v nodemgmt > /dev/null; then - ${NCMD} "bash <(curl -sL https://go.scity.us/install-nodemgmt)" >/dev/null 2>&1 - ${NMCMD} rsync -az ${NM_FOLDER}/conf/defaults.local.inc ${NM_FOLDER}/conf/ssl-domain-checks.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1 - echo -e "${idsCL[Green]}Installed & Synced${idsCL[Default]}" - else - ${NCMD} "nodemgmt update q" - fi - else - # nmdiv=$(${NMCMD} ls -l --time-style=+%s ${NM_FOLDER}/conf/defaults.local.inc | cut -d ' ' -f 6) - # nmsdc=$(${NMCMD} ls -l --time-style=+%s ${NM_FOLDER}/conf/ssl-domain-checks.conf | cut -d ' ' -f 6) - - echo -en " ~ ${idsCL[LightCyan]}Sync Shared Nodemgmt Defaults${idsCL[Default]} : " - # if ssh -tq root@${nip} [[ ! -f ${NM_FOLDER}/conf/defaults.local.inc ]] || - # ssh -tq root@${nip} [[ ! -f ${NM_FOLDER}/conf/ssl-domain-checks.conf ]] || - # [ ${nmdiv} -ne $(ssh -tq root@${nip} ls -l --time-style=+%s ${NM_FOLDER}/conf/defaults.local.inc | cut -d ' ' -f 6) ] || - # [ ${nmsdc} -ne $(ssh -tq root@${nip} ls -l --time-style=+%s ${NM_FOLDER}/conf/ssl-domain-checks.conf | cut -d ' ' -f 6) ]; then - ${NMCMD} rsync -az ${NM_FOLDER}/conf/defaults.local.inc ${NM_FOLDER}/conf/ssl-domain-checks.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1 - echo -e "${idsCL[Green]}Files Synced${idsCL[Default]}" - # else - # echo -e "${idsCL[Green]}Files Already Synced${idsCL[Default]}" - # fi - - fi - elif [ -f ${NM_TMPFOLDER}/${nip}.down ]; then - echo -e " ~ ${idsCL[LightCyan]}Skipping, host is offline${idsCL[Default]}" - else - echo -e " ~ ${idsCL[LightCyan]}Skipping${idsCL[Default]}" - fi - - nid=`expr $nid + 1` done echo done @@ -397,6 +361,38 @@ NODEUPDATE() { echo } +NODEUPDATE(){ + nip="${1}" + NMCMD="${3}" + NCMD="ssh -tq root@${nip}" + NODE="${NM_HOSTNAMES[${nip}]} [${nip}]" + + c=0; spca=''; spc1=${cw}-${#NODE}; until [ $c = ${spc1} ]; do spca="${spca} "; c=`expr $c + 1`; done + echo -en "Updating ${NODE}${spca}" + + if [ "${nip}" != "100.100.2.1" ] && [ "${nip}" != "10.2.1.1" ] && [ ! -f ${NM_TMPFOLDER}/${nip}.down ]; then + if [ "${2}" != "sync" ]; then + echo -en " ~ ${idsCL[LightCyan]}NodeMGMT${idsCL[Default]} : " + if ! ${NCMD} command -v nodemgmt > /dev/null; then + ${NCMD} "bash <(curl -sL https://go.scity.us/install-nodemgmt)" >/dev/null 2>&1 + ${NMCMD} rsync -az ${NM_FOLDER}/conf/defaults.local.inc ${NM_FOLDER}/conf/ssl-domain-checks.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1 + echo -e "${idsCL[Green]}Installed & Synced${idsCL[Default]}" + else + ${NCMD} "nodemgmt update q" + fi + else + echo -en " ~ ${idsCL[LightCyan]}Sync Shared Nodemgmt Defaults${idsCL[Default]} : " + ${NMCMD} rsync -az ${NM_FOLDER}/conf/defaults.local.inc ${NM_FOLDER}/conf/ssl-domain-checks.conf root@${nip}:${NM_FOLDER}/conf/ & >/dev/null 2>&1 + echo -e "${idsCL[Green]}Files Synced${idsCL[Default]}" + + fi + elif [ -f ${NM_TMPFOLDER}/${nip}.down ]; then + echo -e " ~ ${idsCL[LightCyan]}Skipping, host is offline${idsCL[Default]}" + else + echo -e " ~ ${idsCL[LightCyan]}Skipping${idsCL[Default]}" + fi +} + ADD_LOGROTATE_CRONTAB(){ if ! crontab -l | grep -q "${NM_FOLDER}/tmp-logrotate"; then (crontab -l ; echo "0 */1 * * * logrotate -f ${NM_FOLDER}/tmp-logrotate") >/dev/null 2>&1 | crontab - @@ -837,9 +833,9 @@ GUI(){ if [ "${2}" == "report" ]; then [ "${3}" == "sync" ] && ufile=update-nodes-sync.lastrun || ufile=update-nodes.lastrun rm -f ${NM_LOGFOLDER}/${ufile} - NODEUPDATE ${2} ${3} > ${NM_LOGFOLDER}/${ufile} + NODEUPDATES ${2} ${3} > ${NM_LOGFOLDER}/${ufile} else - NODEUPDATE ${2} ${3} + NODEUPDATES ${2} ${3} fi ;; update-dyndns) UPDATE_DYNDNS ${2} ${3} ${4} ${5} ${6};;