update
This commit is contained in:
45
defaults.inc
45
defaults.inc
@@ -18,6 +18,8 @@ declare -i errtime
|
|||||||
|
|
||||||
NM_SRVCOPT=(start stop restart reload enable disable)
|
NM_SRVCOPT=(start stop restart reload enable disable)
|
||||||
|
|
||||||
|
echo "1: ${NM_HOSTS['MYSQL']}"
|
||||||
|
|
||||||
if [ -f ${FOLDER}/defaults.local.inc ]; then
|
if [ -f ${FOLDER}/defaults.local.inc ]; then
|
||||||
source ${FOLDER}/defaults.local.inc
|
source ${FOLDER}/defaults.local.inc
|
||||||
|
|
||||||
@@ -35,7 +37,6 @@ if [ -f ${FOLDER}/defaults.local.inc ]; then
|
|||||||
PW_HOSTS=(${PWHOSTS})
|
PW_HOSTS=(${PWHOSTS})
|
||||||
WM_HOSTS=(${WMHOSTS})
|
WM_HOSTS=(${WMHOSTS})
|
||||||
|
|
||||||
NODE_SERVICES=(${NODESERVICES})
|
|
||||||
MYSQL_SERVICES_CHECK=(${MYSQLSERVICES_CHECK})
|
MYSQL_SERVICES_CHECK=(${MYSQLSERVICES_CHECK})
|
||||||
WEB_SERVICES_CHECK=(${WEBSERVICES_CHECK})
|
WEB_SERVICES_CHECK=(${WEBSERVICES_CHECK})
|
||||||
LB_SERVICES_CHECK=(${LBSERVICES_CHECK})
|
LB_SERVICES_CHECK=(${LBSERVICES_CHECK})
|
||||||
@@ -54,11 +55,18 @@ if [ -f ${FOLDER}/defaults.local.inc ]; then
|
|||||||
|
|
||||||
WEB_SINGLESRVR_SERVICES=(${WEB_SINGLESRVRSERVICES})
|
WEB_SINGLESRVR_SERVICES=(${WEB_SINGLESRVRSERVICES})
|
||||||
WEB_SINGLESRVR_DOCKERS=(${WEB_SINGLESRVRDOCKERS})
|
WEB_SINGLESRVR_DOCKERS=(${WEB_SINGLESRVRDOCKERS})
|
||||||
|
|
||||||
|
for ntype in "${NODE_TYPES[@]}"; do
|
||||||
|
${NM_HOSTS[${ntype}]}=(${NM_HOSTS[${ntype}]})
|
||||||
|
done
|
||||||
|
|
||||||
unset IFS
|
unset IFS
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "2: ${NM_HOSTS['MYSQL']}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
GET-CHECKCERT-DOMAINS(){
|
GET-CHECKCERT-DOMAINS(){
|
||||||
declare -A CHECKCERT_DOMAINS
|
declare -A CHECKCERT_DOMAINS
|
||||||
@@ -80,41 +88,6 @@ DISP_HEADER(){
|
|||||||
echo
|
echo
|
||||||
echo -e "${idsCL[LightGreen]} NodeMgmt - Node Monitoring & Management${idsCL[Default]} ${idsCL[DarkGray]}(ver-${VERS})${idsCL[Default]}"
|
echo -e "${idsCL[LightGreen]} NodeMgmt - Node Monitoring & Management${idsCL[Default]} ${idsCL[DarkGray]}(ver-${VERS})${idsCL[Default]}"
|
||||||
DIVIDER . lightGreen
|
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
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
# NODETYPES=WEB
|
# NODETYPES=WEB
|
||||||
NODETYPES=LB,LPD,MM,MYSQL,NC,PW,WPD,WM,WEB
|
NODETYPES=LB,LPD,MM,MYSQL,NC,PW,WPD,WM,WEB
|
||||||
|
|
||||||
MYSQLHOSTS=10.10.1.51,10.10.1.52
|
MYSQLHOSTS=10.10.1.51,10.10.1.52
|
||||||
WEBHOSTS=10.10.1.121,10.10.1.122
|
WEBHOSTS=10.10.1.121,10.10.1.122
|
||||||
LBHOSTS=10.10.10.81,10.10.10.82
|
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
|
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
|
LPDHOSTS=10.10.10.10,10.10.10.11,10.2.1.2
|
||||||
MMHOSTS=10.10.1.24
|
MMHOSTS=10.10.1.24
|
||||||
PRIMARYHOST=10.10.1.51
|
NODEMANAGER=10.10.10.50
|
||||||
MYSQLMANAGER=10.10.10.50
|
|
||||||
GLHOSTS=10.10.1.41,10.10.1.42,10.10.1.121,10.10.1.122
|
GLHOSTS=10.10.1.41,10.10.1.42,10.10.1.121,10.10.1.122
|
||||||
PWHOSTS=10.10.0.240
|
PWHOSTS=10.10.0.240
|
||||||
WMHOSTS=100.100.55.5
|
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"
|
NODEMANAGER=10.10.10.50
|
||||||
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"
|
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
|
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
|
WEBSERVICES_CHECK=nginx,php5.6-fpm,php7.2-fpm,php7.3-fpm,php7.4-fpm,php8.2-fpm,gitea,keepalived
|
||||||
|
|||||||
@@ -282,83 +282,6 @@ SET-PERMISSIONS(){
|
|||||||
fi
|
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(){
|
SERVICE(){
|
||||||
TSI=$(/sbin/ip link | grep tailscale0)
|
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)
|
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
|
declare -i cw; declare -i spc1; declare -i c
|
||||||
echo -e "${idsCL[LightGreen]}Updating All Nodes${idsCL[Default]}"
|
echo -e "${idsCL[LightGreen]}Updating All Nodes${idsCL[Default]}"
|
||||||
echo -e "${idsCL[LightGreen]}-------------------------------------------${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
|
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'
|
nip='localhost'
|
||||||
fi
|
fi
|
||||||
@@ -1193,7 +1116,7 @@ UPDATEPUSHOVERINFO(){
|
|||||||
|
|
||||||
|
|
||||||
GUI(){
|
GUI(){
|
||||||
DISP_HEADER true true
|
DISP_HEADER true false
|
||||||
while :
|
while :
|
||||||
do
|
do
|
||||||
echo " [1] Node Status"
|
echo " [1] Node Status"
|
||||||
@@ -1342,7 +1265,6 @@ GUI(){
|
|||||||
else
|
else
|
||||||
SERVICE ${2} ${3} ${4}
|
SERVICE ${2} ${3} ${4}
|
||||||
fi;;
|
fi;;
|
||||||
services) SERVICES;;
|
|
||||||
singleservercheck) SINGLE_SERVER_SERVICE_CHECK ${2} ${3};;
|
singleservercheck) SINGLE_SERVER_SERVICE_CHECK ${2} ${3};;
|
||||||
haproxy-config) HAPROXY-CONFIG;;
|
haproxy-config) HAPROXY-CONFIG;;
|
||||||
keepalive-config) KEEPALIVE-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]}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]}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]}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]}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]}siteinfo${idsCL[Default]} - View detailed nginx site info"
|
||||||
echo -e " ${idsCL[Yellow]}status${idsCL[Default]} - Check Status of systems"
|
echo -e " ${idsCL[Yellow]}status${idsCL[Default]} - Check Status of systems"
|
||||||
|
|||||||
Reference in New Issue
Block a user