update
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
VERS='2.5.288-02102024'
|
VERS='2.5.289-02102024'
|
||||||
|
|
||||||
noheader=' update service dailytemp confsync -r -report '
|
noheader=' update service dailytemp confsync -r -report '
|
||||||
|
|
||||||
|
|||||||
96
powerwall.sh
96
powerwall.sh
@@ -723,6 +723,100 @@ CONFSYNC(){
|
|||||||
rsync -az --timeout=3 ${PW_FOLDER}/settings.conf root@10.10.10.50:/opt/idssys/nodemgmt/conf/powerwall.settings.conf & >/dev/null 2>&1
|
rsync -az --timeout=3 ${PW_FOLDER}/settings.conf root@10.10.10.50:/opt/idssys/nodemgmt/conf/powerwall.settings.conf & >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DOWNLIST(){
|
||||||
|
declare -i cw; declare -i spc1; declare -i c
|
||||||
|
DOWN_LIST=`find ${PW_TMPFOLDER}/ -iname "*.down"`
|
||||||
|
IFS=$'\n'
|
||||||
|
read -rd '' -a DOWN_LIST <<<"${DOWN_LIST}"
|
||||||
|
unset IFS
|
||||||
|
if [ "${1}" == "report" ]; then
|
||||||
|
unset idsCL idsBG idsST
|
||||||
|
idsCL=('')
|
||||||
|
idsBG=('')
|
||||||
|
idsST=('')
|
||||||
|
DOWNLIST=()
|
||||||
|
for dli in "${DOWN_LIST[@]}"; do
|
||||||
|
[ ! -f ${dli//.down/.disable} ] && DOWNLIST+=(${dli})
|
||||||
|
done
|
||||||
|
else
|
||||||
|
DOWNLIST=(${DOWN_LIST[@]})
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
|
||||||
|
if [ "${DOWNLIST}" != "" ]; then
|
||||||
|
[ "${1}" == "report" ] && dlen=100 || dlen=110
|
||||||
|
echo -e "${idsCL[LightGreen]}Current List of Items Down...${idsCL[Default]}"
|
||||||
|
DIVIDER false yellow ${dlen}
|
||||||
|
if [ "${1}" == "report" ]; then
|
||||||
|
echo -e "${idsCL[Yellow]}[Type] [Host/Service/Docker Name] [Host] [Down_Time]${idsCL[Default]}"
|
||||||
|
else
|
||||||
|
echo -e "${idsCL[Yellow]} [Type] [Host/Service/Docker Name] [Host] [Down_Time] [Notifications]${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
DIVIDER false yellow ${dlen}
|
||||||
|
|
||||||
|
until [ "${choice^^}" = "E" ]; do
|
||||||
|
cw=35; cw1=11; cw2=20; is=1;
|
||||||
|
for downitem in ${DOWNLIST[@]}; do
|
||||||
|
ditem=${downitem##*/}; ditem=${ditem//.down}
|
||||||
|
if [ "${PW_SENSOR_TYPE[${ditem}]}" == "esxi" ]; then
|
||||||
|
itemname=${ditem}
|
||||||
|
itemtype=HOST
|
||||||
|
elif [ "${PW_SENSOR_TYPE[${ditem}]}" == "system" ] || [ "${PW_SENSOR_TYPE[${ditem}]}" == "cpu" ] || [ "${PW_SENSOR_TYPE[${ditem}]}" == "remotesystem" ]; then
|
||||||
|
itemname=${ditem}
|
||||||
|
itemtype=DEVICE
|
||||||
|
else
|
||||||
|
itemname=${ditem}
|
||||||
|
itemtype=SENSOR
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f ${PW_TMPFOLDER}/${ditem}-error.reading ]; then
|
||||||
|
toterrtime=$(expr $(date +%s) - $(stat -c %Y ${PW_TMPFOLDER}/${ditem}-error.reading))
|
||||||
|
else
|
||||||
|
toterrtime=$(expr $(date +%s) - $(stat -c %Y ${PW_TMPFOLDER}/${ditem}.down))
|
||||||
|
fi
|
||||||
|
|
||||||
|
c=0; spc=''; spc1=`expr ${cw} - ${#itemname}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
|
||||||
|
c=0; spca=''; spc1=`expr ${cw1} - ${#itemtype}`; until [ $c = ${spc1} ]; do spca="${spca} "; c=`expr $c + 1`; done
|
||||||
|
c=0; spc2=''; spc1=`expr ${cw2} - ${#host}`; until [ $c = ${spc1} ]; do spc2="${spc2} "; c=`expr $c + 1`; done
|
||||||
|
time=$(SHOW_TIME ${toterrtime})
|
||||||
|
if [ "${1}" == "report" ]; then
|
||||||
|
echo -e "${idsCL[LightRed]}${itemtype}${spca}${itemname}${spc}${host}${spc2}${time}${idsCL[Default]}"
|
||||||
|
else
|
||||||
|
if [ "${choice^^}" == "A" ] || ([[ ${choice} == ?(-)+([0-9]) ]] && [ ${choice} -gt 0 ] 2>/dev/null && [ ${is} -eq ${choice} ]); then
|
||||||
|
[ ! -f ${PW_TMPFOLDER}/${ditem}.disable ] && touch ${PW_TMPFOLDER}/${ditem}.disable || rm -f ${PW_TMPFOLDER}/${ditem}.disable
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ ${is} -lt 10 ] && ignsel=" ${is}) " || ignsel="${is}) "
|
||||||
|
[ -f ${PW_TMPFOLDER}/${ditem}.disable ] && dstatus="OFF" || dstatus="${idsCL[Green]}ON"
|
||||||
|
c=0; spc3=''; until [ $c = `expr 26 - ${#time}` ]; do spc3="${spc3} "; ((c++)); done
|
||||||
|
echo -e "\033[K${idsCL[LightRed]}${idsST[Bold]}${ignsel}${idsST[Reset]}${idsCL[LightRed]}${itemtype}${spca}${itemname}${spc}${host}${spc2}${time}${spc3}${dstatus}${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
DIVIDER false darkGray ${dlen}
|
||||||
|
((is++))
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "${1}" != "report" ]; then
|
||||||
|
echo -en "\n\033[K${idsCL[LightCyan]}Enter # to change notifications [${idsCL[Default]}Change (${idsCL[LightYellow]}A${idsCL[Default]})ll, ${idsCL[Default]}(${idsCL[LightYellow]}E${idsCL[Default]})xit${idsCL[LightCyan]}] : ${idsCL[Default]}"
|
||||||
|
read choice
|
||||||
|
else
|
||||||
|
choice=E
|
||||||
|
fi
|
||||||
|
[ "${choice^^}" == "E" ] && break
|
||||||
|
|
||||||
|
echo -e "\033[$(echo "scale=1; (${#DOWNLIST[@]}*2)+3" | bc)A"
|
||||||
|
for (( c=1; c<$(echo "scale=1; (${#DOWNLIST[@]}*2)+3" | bc); c++ )); do echo -e "\033[K"; done
|
||||||
|
echo -e "\033[$(echo "scale=1; (${#DOWNLIST[@]}*2)+3" | bc)A"
|
||||||
|
|
||||||
|
done
|
||||||
|
echo
|
||||||
|
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
TEST(){
|
TEST(){
|
||||||
start=`date +%s`
|
start=`date +%s`
|
||||||
temptotal=0
|
temptotal=0
|
||||||
@@ -935,7 +1029,7 @@ fi
|
|||||||
tempdiff) SERVERROOM_TEMP_DIFFERENCE ${2} ${3} ${4};;
|
tempdiff) SERVERROOM_TEMP_DIFFERENCE ${2} ${3} ${4};;
|
||||||
average) AVERAGETEMP ${2} ${3} ${4};;
|
average) AVERAGETEMP ${2} ${3} ${4};;
|
||||||
|
|
||||||
conserve) CONSERVE_POWER;;
|
dl|downlist) DOWNLIST;;
|
||||||
|
|
||||||
oldhelp)
|
oldhelp)
|
||||||
echo -e "${idsCL[White]} Usage: ${idsCL[LightYellow]}[powerwall or pw]${idsCL[LightCyan]} {option}"
|
echo -e "${idsCL[White]} Usage: ${idsCL[LightYellow]}[powerwall or pw]${idsCL[LightCyan]} {option}"
|
||||||
|
|||||||
Reference in New Issue
Block a user