This commit is contained in:
2023-07-03 23:05:23 -05:00
parent d02c6ccf36
commit c1fdda6e7d
4 changed files with 173 additions and 149 deletions

View File

@@ -15,10 +15,10 @@ source /opt/idssys/nodemgmt/inc/sites.inc
CHECK_DOCKER_SERVICES(){
for NTYPE in "${NODE_TYPES[@]}"; do
dockers=${NTYPE}_DOCKER[@]
dockers=${NTYPE}_DOCKERS_CHECK[@]
hosts=${NTYPE}_HOSTS[@]
if [[ -v ${NTYPE}_DOCKER ]]; then
if [[ -v ${NTYPE}_DOCKERS_CHECK ]]; then
if [ "${ST_ACTION}" != "check" ]; then
echo -e "${idsST[Bold]}"; DIVIDER
echo -e "${idsCL[Yellow]} ${NM_NODETYPES[$NTYPE]}-Node Docker Service(s) Status${idsCL[Default]}"
@@ -54,15 +54,15 @@ CHECK_DOCKER_SERVICES(){
for docker in "${!dockers}"; do
if [ "${ST_ACTION}" != "check" ]; then
c=0; cw=30; spc=''
spc1=`expr ${cw} - ${#NM_DOCKERS[${docker}]}`
spc1=`expr ${cw} - ${#NM_DOCKER_DESC[${docker}]}`
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
echo -en " ${NM_DOCKERS[${docker}]}$spc: "
echo -en " ${NM_DOCKER_DESC[${docker}]}$spc: "
fi
if [ ! "$(${NCMD} docker ps -q -f name=${docker})" ]; then
if [ "$(${NCMD} docker ps -aq -f status=exited -f name=${docker})" ]; then
${NCMD} docker rm ${docker}
fi
${NCMD} /usr/local/bin/docker-compose -f ${NM_DOCKER_COMPOSE[${docker}]}/docker-compose.yml up -d
${NCMD} /usr/local/bin/docker-compose -f ${NM_DOCKER_COMPOSE_LOC[${docker}]}/docker-compose.yml up -d
sleep 10s
if [ "$(${NCMD} docker ps -q -f name=${docker})" ]; then
if [ "${ST_ACTION}" != "check" ]; then
@@ -112,11 +112,11 @@ BACKUP(){
if [ ! -d ${BACKUP_FOLDER} ]; then
mkdir -p ${BACKUP_FOLDER}
fi
for item in "${!BACKUP_ITEMS[@]}"; do
for item in "${!NM_BACKUP_ITEMS[@]}"; do
c=0; spc=''; spc1=`expr 20 - ${#item}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
echo -en "Backing up '${item}'${spc}"
if [ -d ${BACKUP_ITEMS[$item]} ]; then
tar -czPf ${BACKUP_FOLDER}/${item}.tar.gz -C ${BACKUP_ITEMS[$item]} . --exclude='./data/repository' --exclude='*/.stfolder' --exclude='*/.stversions' --exclude='*/.git' >/dev/null 2>&1
if [ -d ${NM_BACKUP_ITEMS[$item]} ]; then
tar -czPf ${BACKUP_FOLDER}/${item}.tar.gz -C ${NM_BACKUP_ITEMS[$item]} . --exclude='./data/repository' --exclude='*/.stfolder' --exclude='*/.stversions' --exclude='*/.git' >/dev/null 2>&1
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
else
echo -e "${idsCL[Yellow]}Not found${idsCL[Default]}"
@@ -502,8 +502,9 @@ SERVICE(){
fi
for NTYPE in "${NTS[@]}"; do
var1=${NTYPE}SERVICES_CHECK
if [[ "${!var1}" = *"${1}"* ]]; then
var1=${NTYPE}_SERVICES_CHECK
# if [[ "${!var1}" = *"${1}"* ]]; then
if [[ " ${!var1[*]} " =~ " ${1} " ]]; then
nid=1
if [ "${3}" != "" ]; then
var2=(${3})
@@ -587,7 +588,8 @@ SERVICE(){
HAPROXY-CONFIG() {
echo -e "${idsCL[Yellow]}Creating HAProxy Config Files${idsCL[Default]}"
DIVIDER false yellow
if [[ "${MYSQLSERVICES_CHECK}" = *"haproxy"* ]]; then
# if [[ "${MYSQLSERVICES_CHECK}" = *"haproxy"* ]]; then
if [[ " ${MYSQL_SERVICES_CHECK[*]} " =~ " haproxy " ]]; then
nid=1
for nip in "${MYSQL_HOSTS[@]}"; do
if [[ $(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1) == *"${nip}"* ]]; then
@@ -607,7 +609,8 @@ HAPROXY-CONFIG() {
done
echo
fi
if [[ "${WEBSERVICES_CHECK}" = *"haproxy"* ]]; then
# if [[ "${WEBSERVICES_CHECK}" = *"haproxy"* ]]; then
if [[ " ${WEB_SERVICES_CHECK[*]} " =~ " haproxy " ]]; then
nid=1
for nip in "${WEB_HOSTS[@]}"; do
if [[ $(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1) == *"${nip}"* ]]; then
@@ -626,7 +629,8 @@ HAPROXY-CONFIG() {
nid=`expr $nid + 1`
done
fi
if [[ "${LBSERVICES_CHECK}" = *"haproxy"* ]]; then
# if [[ "${LBSERVICES_CHECK}" = *"haproxy"* ]]; then
if [[ " ${LB_SERVICES_CHECK[*]} " =~ " haproxy " ]]; then
nid=1
for nip in "${LB_HOSTS[@]}"; do
if [[ $(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1) == *"${nip}"* ]]; then
@@ -664,7 +668,7 @@ SINGLE_SERVER_SERVICE_CHECK(){
/bin/mount -a
sleep 5s
fi
if [ -f ${REPL_CHECKS["${1}-data"]}/mounted ]; then
if [ -f ${NM_REPL_CHECK_LOC["${1}-data"]}/mounted ]; then
for stc in "${!servicestocheck}"; do
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"
@@ -716,7 +720,8 @@ SINGLE_SERVER_SERVICE_CHECK(){
KEEPALIVE-CONFIG() {
echo -e "${idsCL[Yellow]}Creating Keepalive Config Files${idsCL[Default]}"
DIVIDER false yellow
if [[ "${MYSQLSERVICES_CHECK}" = *"keepalive"* ]]; then
# if [[ "${MYSQLSERVICES_CHECK}" = *"keepalive"* ]]; then
if [[ " ${MYSQL_SERVICES_CHECK[*]} " =~ " keepalived " ]]; then
nid=1
for nip in "${MYSQL_HOSTS[@]}"; do
if [[ $(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1) == *"${nip}"* ]]; then
@@ -736,7 +741,8 @@ KEEPALIVE-CONFIG() {
done
echo
fi
if [[ "${WEBSERVICES_CHECK}" = *"keepalive"* ]]; then
# if [[ "${WEBSERVICES_CHECK}" = *"keepalive"* ]]; then
if [[ " ${WEB_SERVICES_CHECK[*]} " =~ " keepalived " ]]; then
nid=1
for nip in "${WEB_HOSTS[@]}"; do
if [[ $(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1) == *"${nip}"* ]]; then
@@ -1032,10 +1038,10 @@ DOWNLIST(){
if [[ $ditem == *"~"* ]] && [ "${NM_SERVICE_DESC[${item}]}" != "" ]; then
itemname=${NM_SERVICE_DESC[${item}]}
elif [[ $ditem == *"~"* ]] && [ "${NM_DOCKERS[${item}]}" != "" ]; then
itemname="${NM_DOCKERS[${item}]} (docker)"
elif [[ $ditem == *"~"* ]] && [ "${REPL_DESC[${item}]}" != "" ]; then
itemname="${REPL_DESC[${item}]} (replication)"
elif [[ $ditem == *"~"* ]] && [ "${NM_DOCKER_DESC[${item}]}" != "" ]; then
itemname="${NM_DOCKER_DESC[${item}]} (docker)"
elif [[ $ditem == *"~"* ]] && [ "${NM_REPL_DESC[${item}]}" != "" ]; then
itemname="${NM_REPL_DESC[${item}]} (replication)"
else
itemname='HOST DOWN';
[ "${NM_HOSTNAMES[${host}]}" != "" ] && itemname="${itemname}: ${NM_HOSTNAMES[${host}]}"