From 6bcedd82dc0b7d5893aaaa875a8199a650c492c8 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Tue, 19 Nov 2024 21:52:53 -0600 Subject: [PATCH] update --- defaults.inc | 2 +- inc/services.inc | 62 +++++++++++++++++++++++++++++++++--------------- 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/defaults.inc b/defaults.inc index 06c41163..93cdc1b6 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='5.3.2a-11192024' +VERS='5.3.2b-11192024' NM_BETA=false noheader=' service status-check nightlyrephp7.3-fpm,new backup report check checkcerts gitea update-nodes copynpmcerts singleservercheck update-dyndns backup-offsitepfsense gui nightlyreview update log betacheck offsite-staticroute-fix ' diff --git a/inc/services.inc b/inc/services.inc index 2e806988..dae21bd2 100755 --- a/inc/services.inc +++ b/inc/services.inc @@ -37,29 +37,53 @@ SINGLE_SERVER_SERVICE_CHECK(){ [ "${stc}" = "pdnsadmin" ] && stc="pdnsadmin.socket pdnsadmin.service" [ "${stc}" = "headscale" ] && sleep 90s /bin/systemctl start ${stc} & - echo "$(date +%Y-%m-%d-%H-%M-%S) - ${NM_HOSTNAMES[${RUN_NODE_IP}]} - ... Done" >> ${NM_LOGFILE} fi done + + for docker in "${!dockerstocheck}"; do - for nip in "${!hosts}"; do - if [[ "${RUN_NODE_IP}" = *"${nip}"* ]]; then - if [ "docker ps -a | grep ${docker})" ]; then - [ "${docker}" == "authelia" ] && [ ! "$(/usr/bin/docker ps -q -f name=auth_redis)" ] && /usr/bin/docker start auth_redis && sleep 2s >/dev/null 2>&1 - [ ! "$(/usr/bin/docker ps -q -f name=${docker})" ] && /usr/bin/docker start ${docker} & >/dev/null 2>&1 - # elif [ "${NM_DOCKER_COMPOSE_LOC[${docker}]}" != "" ]; then - # /usr/local/bin/docker compose -f ${NM_DOCKER_COMPOSE_LOC[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 - # echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not found, creating and starting now" >> ${NM_LOGFILE} - fi - - - else - if [ "$(CHECK_HOST ${nip})" != "false" ]; then - [ "$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} /usr/bin/docker ps -q -f name=${docker})" ] && ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} /usr/bin/docker stop ${docker} >/dev/null 2>&1 - [ "${docker}" == "authelia" ] && [ "$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} /usr/bin/docker ps -q -f name=auth_redis)" ] && ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} /usr/bin/docker stop auth_redis >/dev/null 2>&1 + if [ ! "$(docker ps -q -f name=${docker})" ]; then + echo "$(date +%Y-%m-%d-%H-%M-%S) - ${NM_HOSTNAMES[${RUN_NODE_IP}]} - Starting ${docker} on ${RUN_NODE_IP}, stopping on the other Nodes ..." >> ${NM_LOGFILE} + + for nip in "${!hosts}"; do + if [[ "${RUN_NODE_IP}" != *"${nip}"* ]] && [ "$(CHECK_HOST ${nip})" != "false" ]; then + #[ "$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} docker ps -q -f name=${docker})" ] && + ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} docker stop ${docker} >/dev/null 2>&1 + [ "${docker}" == "authelia" ] && ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} docker stop auth_redis >/dev/null 2>&1 fi - fi - done + done + + sleep 3s + [ "${docker}" = "uptime-kuma" ] && sleep 15s + + [ "${docker}" == "authelia" ] && docker start auth_redis && sleep 2s >/dev/null 2>&1 + docker start ${docker} & >/dev/null 2>&1 + fi + + echo "$(date +%Y-%m-%d-%H-%M-%S) - ${NM_HOSTNAMES[${RUN_NODE_IP}]} - ... Done" >> ${NM_LOGFILE} + + # for nip in "${!hosts}"; do + # if [[ "${RUN_NODE_IP}" = *"${nip}"* ]]; then + # if [ "docker ps -a | grep ${docker})" ]; then + # [ "${docker}" == "authelia" ] && [ ! "$(docker ps -q -f name=auth_redis)" ] && docker start auth_redis && sleep 2s >/dev/null 2>&1 + # [ ! "$(docker ps -q -f name=${docker})" ] && docker start ${docker} & >/dev/null 2>&1 + # # elif [ "${NM_DOCKER_COMPOSE_LOC[${docker}]}" != "" ]; then + # # /usr/local/bin/docker compose -f ${NM_DOCKER_COMPOSE_LOC[${docker}]}/docker-compose.yml up -d >/dev/null 2>&1 + # # echo "$(date +%Y-%m-%d-%H-%M-%S) - ${nip} - ${NM_HOSTNAMES[${nip}]}[${nip}] - ${NM_DOCKER_DESC[${docker}]} (docker) is not found, creating and starting now" >> ${NM_LOGFILE} + # fi + # + # + # else + # if [ "$(CHECK_HOST ${nip})" != "false" ]; then + # [ "$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} docker ps -q -f name=${docker})" ] && ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} docker stop ${docker} >/dev/null 2>&1 + # [ "${docker}" == "authelia" ] && [ "$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} docker ps -q -f name=auth_redis)" ] && ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${nip} docker stop auth_redis >/dev/null 2>&1 + # fi + # fi + # done done + + echo "$(date +%Y-%m-%d-%H-%M-%S) - ${NM_HOSTNAMES[${RUN_NODE_IP}]} - ... Done" >> ${NM_LOGFILE} + fi @@ -69,7 +93,7 @@ SINGLE_SERVER_SERVICE_CHECK(){ /bin/systemctl stop ${stc} & >/dev/null 2>&1 done for docker in "${!dockerstocheck}"; do - [ "$(/usr/bin/docker ps -q -f name=${docker})" ] && /usr/bin/docker stop ${docker} & >/dev/null 2>&1 + [ "$(docker ps -q -f name=${docker})" ] && docker stop ${docker} & >/dev/null 2>&1 done rm -f ${NM_TMPFOLDER}/.singleserver.${1^^} fi