Update nodemgmt-scripts.sh

This commit is contained in:
2023-06-23 22:40:48 -05:00
parent 30462b0a57
commit e087a796d6

View File

@@ -727,9 +727,12 @@ HAPROXY-CONFIG() {
}
SINGLE_SERVER_SERVICE_CHECK(){
if [ "${1}" = "web" ]; then
servicestocheck=${1}_SINGLESRVR_SERVICES
dockerstocheck=${1}_SINGLESRVR_DOCKERS
hosts=${1}_HOSTS
if [ "${!servicestocheck}" != "" ] || [ "${!dockerstocheck}" != "" ]; then
local_ips=$(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | awk '/inet/ {print $2}' | cut -d'/' -f1);
# local_ips=$(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1);
local_ip=$(/sbin/ip -o -4 addr list eth0 |grep 255 | awk '{print $4}' | cut -d/ -f1)
if [[ ${local_ips} = *10.10.1.120* ]]; then
if [ ! -f /mnt/web-data/mounted ]; then
@@ -737,13 +740,14 @@ SINGLE_SERVER_SERVICE_CHECK(){
sleep 5s
fi
if [ -f /mnt/web-data/mounted ]; then
for stc in "${WEB_SINGLESRVR_SERVICES[@]}"; do
for stc in "${!servicestocheck[@]}"; do
echo "stc: $stc"
if [ "$(systemctl is-active ${stc}.service)" != "active" ]; then
SENDNOTICE "Node-Balancing Notice" "Starting ${stc} on ${NM_NODETYPES["WEB"]}-Node${local_ip: -1} (${local_ip}), stopping on the other Nodes"
echo "$(date) - ${NM_NODETYPES["WEB"]}-Node${local_ip: -1} - Starting ${stc} on ${local_ip}, stopping on the other Nodes" >> ${LOGFILE}
[ "${stc}" = "pdnsadmin" ] && stc="pdnsadmin.socket pdnsadmin.service"
for nip in "${WEB_HOSTS[@]}"; do
for nip in "${!hosts[@]}"; do
if [[ "${local_ip}" != *"${nip}"* ]]; then
ssh root@${nip} /bin/systemctl stop ${stc}
fi
@@ -752,16 +756,17 @@ SINGLE_SERVER_SERVICE_CHECK(){
/bin/systemctl start ${stc} &
fi
done
for docker in "${WEB_SINGLESRVR_DOCKERS[@]}"; do
for nip in "${WEB_HOSTS[@]}"; do
for docker in "${!dockerstocheck[@]}"; do
echo "docker: $docker"
for nip in "${!hosts[@]}"; do
if [[ "${local_ip}" = *"${nip}"* ]]; then
[ ! "$(/usr/bin/docker ps -q -f name=${docker})" ] && /usr/bin/docker start ${docker} & >/dev/null 2>&1
[ "${docker}" == "authelia" ] && [ ! "$(/usr/bin/docker ps -q -f name=${docker}_redis)" ] && /usr/bin/docker start ${docker}_redis & >/dev/null 2>&1
# [ ! "$(/usr/bin/docker ps -q -f name=${docker})" ] && echo "starting local" || echo "already started local"
[ ! "$(/usr/bin/docker ps -q -f name=${docker})" ] && echo "starting local" || echo "already started local"
else
[ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=${docker})" ] && ssh root@${nip} /usr/bin/docker stop ${docker} & >/dev/null 2>&1
[ "${docker}" == "authelia" ] && [ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=${docker}_redis)" ] && ssh root@${nip} /usr/bin/docker stop ${docker}_redis & >/dev/null 2>&1
# [ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=${docker})" ] && echo "stopping on $nip" || echo "already stopped on $nip"
[ "$(ssh root@${nip} /usr/bin/docker ps -q -f name=${docker})" ] && echo "stopping on $nip" || echo "already stopped on $nip"
fi
done
done
@@ -769,11 +774,11 @@ SINGLE_SERVER_SERVICE_CHECK(){
else
for stc in "${WEB_SINGLESRVR_SERVICES[@]}"; do
for stc in "${!servicestocheck[@]}"; do
[ "${stc}" = "pdnsadmin" ] && stc="pdnsadmin.socket pdnsadmin.service"
/bin/systemctl stop ${stc} &
done
for docker in "${WEB_SINGLESRVR_DOCKERS[@]}"; do
for docker in "${!dockerstocheck[@]}"; do
# echo "DOCKER: $docker"
[ "$(/usr/bin/docker ps -q -f name=${docker})" ] && /usr/bin/docker stop ${docker} & >/dev/null 2>&1
# [ "$(/usr/bin/docker ps -q -f name=${docker})" ] && echo "stopping" || echo "already stopped"