This commit is contained in:
2023-07-03 19:16:53 -05:00
parent 50761d27c6
commit e2f51e0fb1
3 changed files with 26 additions and 122 deletions

View File

@@ -18,6 +18,8 @@ declare -i errtime
NM_SRVCOPT=(start stop restart reload enable disable)
echo "1: ${NM_HOSTS['MYSQL']}"
if [ -f ${FOLDER}/defaults.local.inc ]; then
source ${FOLDER}/defaults.local.inc
@@ -35,7 +37,6 @@ if [ -f ${FOLDER}/defaults.local.inc ]; then
PW_HOSTS=(${PWHOSTS})
WM_HOSTS=(${WMHOSTS})
NODE_SERVICES=(${NODESERVICES})
MYSQL_SERVICES_CHECK=(${MYSQLSERVICES_CHECK})
WEB_SERVICES_CHECK=(${WEBSERVICES_CHECK})
LB_SERVICES_CHECK=(${LBSERVICES_CHECK})
@@ -54,11 +55,18 @@ if [ -f ${FOLDER}/defaults.local.inc ]; then
WEB_SINGLESRVR_SERVICES=(${WEB_SINGLESRVRSERVICES})
WEB_SINGLESRVR_DOCKERS=(${WEB_SINGLESRVRDOCKERS})
for ntype in "${NODE_TYPES[@]}"; do
${NM_HOSTS[${ntype}]}=(${NM_HOSTS[${ntype}]})
done
unset IFS
fi
echo "2: ${NM_HOSTS['MYSQL']}"
GET-CHECKCERT-DOMAINS(){
declare -A CHECKCERT_DOMAINS
@@ -80,41 +88,6 @@ DISP_HEADER(){
echo
echo -e "${idsCL[LightGreen]} NodeMgmt - Node Monitoring & Management${idsCL[Default]} ${idsCL[DarkGray]}(ver-${VERS})${idsCL[Default]}"
DIVIDER . lightGreen
if [ "$2" = true ]; then
echo -e " Node hostname : ${idsST[Bold]}${idsCL[LightCyan]}${NODE_HOSTNAME}${idsCL[Default]}${idsST[Reset]}"
if [ -z ${LOCAL_SERVICES+x} ]; then SERVICES=$( IFS=$','; echo "${NODE_SERVICES[*]}" )
else SERVICES=$( IFS=$','; echo "${LOCAL_SERVICES[*]}" )
fi
IFS=,; SERVICES2=(${SERVICES}); unset IFS
for srvc in "${SERVICES2[@]}"; do
c=0; cw=18; spc=''
spc1=${cw}-${#NM_SERVICES[${srvc}]}
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
echo -en " ${NM_SERVICES[${srvc}]}$spc: "
if [ $(pgrep ${srvc} | wc -l) -gt "0" ]; then
echo -e "${idsCL[Green]}Running${idsCL[Default]}"
else echo -e "${idsCL[Red]}Not Running${idsCL[Default]}"
fi
done
DIVIDER
if [ $(ls -1 ${FOLDER}/*.lastrun 2>/dev/null | wc -l) != 0 ];then
echo -e "${idsST[Bold]}Lastrun Items:${idsST[Reset]}"
for lastrun in ${FOLDER}/*.lastrun ; do
IFS='/'; lastrun_item=(${lastrun}); unset IFS
lastrun_item=$(echo ${lastrun_item[4]} | sed "s/.lastrun//g")
lastrun_item=$(echo ${lastrun_item} | sed "s/-/ /g")
lastrun_date=$(stat -c %y ${lastrun})
IFS=' '; lastrun_date=(${lastrun_date}); unset IFS
IFS='.'; lastrun_time=(${lastrun_date[1]}); unset IFS
c=0; cw=18; spc=''
spc1=${cw}-${#lastrun_item}
until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
echo -e " ${lastrun_item~}${spc}: ${lastrun_date[0]} ${lastrun_time}"
done
DIVIDER
fi
fi
echo
}

View File

@@ -1,6 +1,7 @@
# NODETYPES=WEB
NODETYPES=LB,LPD,MM,MYSQL,NC,PW,WPD,WM,WEB
MYSQLHOSTS=10.10.1.51,10.10.1.52
WEBHOSTS=10.10.1.121,10.10.1.122
LBHOSTS=10.10.10.81,10.10.10.82
@@ -8,15 +9,24 @@ NCHOSTS=10.10.10.42
WPDHOSTS=100.100.55.2,100.100.55.3,10.10.1.28
LPDHOSTS=10.10.10.10,10.10.10.11,10.2.1.2
MMHOSTS=10.10.1.24
PRIMARYHOST=10.10.1.51
MYSQLMANAGER=10.10.10.50
NODEMANAGER=10.10.10.50
GLHOSTS=10.10.1.41,10.10.1.42,10.10.1.121,10.10.1.122
PWHOSTS=10.10.0.240
WMHOSTS=100.100.55.5
NODESERVICES="mariadb,mysql,nginx,gitea,pdnsadmin,pdnsadmin.socket,haproxy,keepalived,maxscale,postgresql,web,php5.6-fpm,php7.2-fpm,php7.3-fpm"
NODESERVICES="${NODESERVICES},php7.4-fpm,syncthing,pdns,proxysql,radarr,sonarr,jackett,qbittorrent,snap.tautulli.tautulli,ombi,glusterd"
NODESERVICES="${NODESERVICES},redis-server,mosquitto,tailscaled,cmon,monitor-power,monitor-temp"
NODEMANAGER=10.10.10.50
declare -A NM_HOSTS
NM_HOSTS['MYSQL']=10.10.1.51,10.10.1.52
NM_HOSTS['WEB']=10.10.1.121,10.10.1.122
NM_HOSTS['LB']=10.10.10.81,10.10.10.82
NM_HOSTS['NC']=10.10.10.42
NM_HOSTS['WPD']=100.100.55.2,100.100.55.3,10.10.1.28
NM_HOSTS['LPD']=10.10.10.10,10.10.10.11,10.2.1.2
NM_HOSTS['MM']=10.10.1.24
# NM_HOSTS['GL']=10.10.1.41,10.10.1.42,10.10.1.121,10.10.1.122
NM_HOSTS['PW']=10.10.0.240
NM_HOSTS['WM']=100.100.55.5
MYSQLSERVICES_CHECK=mariadb,proxysql,keepalived
WEBSERVICES_CHECK=nginx,php5.6-fpm,php7.2-fpm,php7.3-fpm,php7.4-fpm,php8.2-fpm,gitea,keepalived

View File

@@ -282,83 +282,6 @@ SET-PERMISSIONS(){
fi
}
SERVICES(){
while :
do
echo
echo -e "${idsCL[Green]}Node Services${idsCL[Default]}"
DIVIDER true
s=1
for srvc in "${NODE_SERVICES[@]}"
do
echo " [${s}] ${NM_SERVICES[${srvc}]}"
s=`expr $s + 1`
done
echo
if [ -z $action ] || [ "${action}" = "gui" ]; then
echo " [B] Back"
fi
echo " [Q] Quit"
echo
echo -e -n "${idsCL[LightYellow]}Please select a service from above:${idsCL[Default]} "
read -n 1 selsrvc
selsrvc=`expr $selsrvc - 1`
echo
if [ -z ${NODE_SERVICES[${selsrvc}]} ] && [ "${selsrvc}" != "Q" ] && [ "${selsrvc}" != "q" ] && [ "${selsrvc}" != "B" ] && [ "${selsrvc}" != "b" ]; then
echo "Thats an invaild option,"
echo "please select a valid option only."
sleep 1
SERVICES
exit 0
elif [ "${selsrvc}" = "Q" ] || [ "${selsrvc}" = "q" ]; then
exit 0
elif [ "${selsrvc}" = "B" ] || [ "${selsrvc}" = "b" ]; then
GUI
else
echo
echo -e "${idsCL[Green]}Node Service Selected: '${idsST[Bold]}${NM_SERVICES[${NODE_SERVICES[${selsrvc}]}]}${idsST[Reset]}${idsCL[Green]}'${idsCL[Default]}"
DIVIDER true
s=1
for srvcopt in "${NM_SRVCOPT[@]}"; do
echo " [${s}] ${srvcopt~}"
s=`expr $s + 1`
done
echo
if [ -z $action ] || [ "${action}" = "gui" ]; then
echo " [B] Back"
fi
echo " [Q] Quit"
echo
echo -e -n "${idsCL[LightYellow]}Please select an action to run from above:${idsCL[Default]} "
read -n 1 selsrvcopt
selsrvcopt=`expr $selsrvcopt - 1`
echo
if [ -z ${NM_SRVCOPT[${selsrvcopt}]} ] && [ "${selsrvcopt}" != "Q" ] && [ "${selsrvcopt}" != "q" ] && [ "${selsrvcopt}" != "B" ] && [ "${selsrvcopt}" != "b" ]; then
echo "Thats an invaild option,"
echo "please select a valid option only."
sleep 1
SERVICES
exit 0
elif [ "${selsrvc}" = "Q" ] || [ "${selsrvc}" = "q" ]; then
exit 0
elif [ "${selsrvc}" = "B" ] || [ "${selsrvc}" = "b" ]; then
SERVICES
exit 0
else
echo
SERVICE ${NODE_SERVICES[${selsrvc}]} ${NM_SRVCOPT[${selsrvcopt}]}
echo
if [ -z $action ] || [ "${action}" = "gui" ]; then
DIVIDER
ENTER2CONTINUE
fi
break
fi
fi
done
}
SERVICE(){
TSI=$(/sbin/ip link | grep tailscale0)
MIP=$(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1)
@@ -847,7 +770,7 @@ NODEUPDATE() {
declare -i cw; declare -i spc1; declare -i c
echo -e "${idsCL[LightGreen]}Updating All Nodes${idsCL[Default]}"
echo -e "${idsCL[LightGreen]}-------------------------------------------${idsCL[Default]}"
nip=${MYSQLMANAGER}
nip=${NODEMANAGER}
if [[ $(ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | head -n 1 | awk '/inet/ {print $2}' | cut -d'/' -f1) == *"${nip}"* ]]; then
nip='localhost'
fi
@@ -1193,7 +1116,7 @@ UPDATEPUSHOVERINFO(){
GUI(){
DISP_HEADER true true
DISP_HEADER true false
while :
do
echo " [1] Node Status"
@@ -1342,7 +1265,6 @@ GUI(){
else
SERVICE ${2} ${3} ${4}
fi;;
services) SERVICES;;
singleservercheck) SINGLE_SERVER_SERVICE_CHECK ${2} ${3};;
haproxy-config) HAPROXY-CONFIG;;
keepalive-config) KEEPALIVE-CONFIG;;
@@ -1368,7 +1290,6 @@ GUI(){
echo -e " ${idsCL[Yellow]}nightlyrenew${idsCL[Default]} - Renewal of SSL Certs, designed for cron tasks"
echo -e " ${idsCL[Yellow]}run${idsCL[Default]} - Run a command on all Nodes"
echo -e " ${idsCL[Yellow]}service${idsCL[Default]} [service] [action] - Manages services accross like nodes"
echo -e " ${idsCL[Yellow]}services${idsCL[Default]} - (UI) Manage services accross all nodes"
echo -e " ${idsCL[Yellow]}set-permissions${idsCL[Default]} - Set specific permissions preset for app folders"
echo -e " ${idsCL[Yellow]}siteinfo${idsCL[Default]} - View detailed nginx site info"
echo -e " ${idsCL[Yellow]}status${idsCL[Default]} - Check Status of systems"