update
This commit is contained in:
@@ -1027,7 +1027,7 @@ PDUCONTROL(){
|
||||
port=$(expr ${p} + 1)
|
||||
[ ${PORT_POWER[${p}]} -eq 1 ] && portpower_disp="${idsCL[Green]}ON" || portpower_disp="${idsCL[LightRed]}OFF"
|
||||
[ ${port} -lt 10 ] && pp=" ${port}" || pp=${port}
|
||||
c=0; spc=''; spc1=`expr 28 - ${#PORT_DESC[${p}]}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr 28 - ${#PORT_DESC[${p}]}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -e "${pp}) ${idsCL[LightCyan]}${PORT_DESC[${p}]}${spc}${idsCL[Default]}: ${portpower_disp}${idsCL[Default]}"
|
||||
done
|
||||
echo -e ""
|
||||
|
||||
@@ -1153,7 +1153,7 @@ PDUCONTROL(){
|
||||
port=$(expr ${p} + 1)
|
||||
[ ${PORT_POWER[${p}]} -eq 1 ] && portpower_disp="${idsCL[Green]}ON" || portpower_disp="${idsCL[LightRed]}OFF"
|
||||
[ ${port} -lt 10 ] && pp=" ${port}" || pp=${port}
|
||||
c=0; spc=''; spc1=`expr 28 - ${#PORT_DESC[${p}]}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr 28 - ${#PORT_DESC[${p}]}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -e "${pp}) ${idsCL[LightCyan]}${PORT_DESC[${p}]}${spc}${idsCL[Default]}: ${portpower_disp}${idsCL[Default]}"
|
||||
done
|
||||
echo -e ""
|
||||
|
||||
@@ -69,7 +69,7 @@ CHECKTEMP(){
|
||||
elif [[ "${avgdays}" =~ ^[0-9]+$ ]]; then
|
||||
avgdays_disp="${avgdays}Day"
|
||||
fi
|
||||
c=0; spchdr=''; spc1=`expr 7 - ${#avgdays_disp}`; until [ ${c} = ${spc1} ]; do spchdr="${spchdr} "; c=`expr ${c} + 1`; done
|
||||
c=0; spchdr=''; spc1=`expr 7 - ${#avgdays_disp}`; until [ ${c} = ${spc1} ]; do spchdr="${spchdr} "; ((c++)); done
|
||||
else
|
||||
avgdays=noavg
|
||||
fi
|
||||
@@ -107,7 +107,7 @@ CHECKTEMP(){
|
||||
fi
|
||||
|
||||
[ "${last_sensor%%-*}" == "${SENSOR%%-*}" ] && [ "${last_sensor}" != "Offsite-ServerRoom" ] && [ "${last_sensor}" != "Powerwall-Switch" ] && echo -en "\033[1A"
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR_DESC}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR_DESC}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -en "\r\033[K${idsCL[White]}${idsST[Bold]}${SENSOR_DESC}${idsST[Reset]}${spc}${idsCL[Default]}: ${idsCL[Yellow]}Pulling data ... "
|
||||
if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ]; then
|
||||
IFS=: read -r temp_f temp_h <<< $(CHECKTEMPSENSOR ${SENSOR}); unset IFS
|
||||
@@ -124,9 +124,33 @@ CHECKTEMP(){
|
||||
lmd="Normal "
|
||||
fi
|
||||
c=0; spct=''; [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ] && [[ "${SENSOR}" = *"FAN"* ]] && spc1=`expr 6 - ${#temp_f}` || spc1=`expr 7 - ${#temp_f}`
|
||||
until [ ${c} = ${spc1} ]; do spct="${spct} "; c=`expr ${c} + 1`; done
|
||||
until [ ${c} = ${spc1} ]; do spct="${spct} "; ((c++)); done
|
||||
reading="${lclr}${lmd}${spct}${temp_f_disp}${GAUGESH}"
|
||||
echo -en "\r\033[K${idsCL[White]}${idsST[Bold]}${SENSOR_DESC}${idsST[Reset]}${spc}${idsCL[Default]}: ${reading}"
|
||||
echo -en "\r\033[K${idsCL[White]}${idsST[Bold]}${SENSOR_DESC}${idsST[Reset]}${spc}${idsCL[Default]}: ${reading} "
|
||||
|
||||
if [ "${avgdays}" = "noavg" ] && [[ "${SENSOR}" != *"FAN"* ]]; then
|
||||
for R in ${PW_TEMPIND_RANGE[@]}; do
|
||||
OLD_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL ${R} MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${R} - 7) MINUTE) ORDER BY date ASC LIMIT 1"))
|
||||
if [ $(bc -l <<< "${temp_f} < $(echo "scale=2; ${OLD_temp_f[1]}+${PW_TEMPIND_DIFF}" | bc)") -eq 1 ] && [ $(bc -l <<< "$(echo "scale=2; ${OLD_temp_f[1]}-${PW_TEMPIND_DIFF}" | bc) < ${temp_f}") -eq 1 ]; then
|
||||
echo -en "${idsCL[White]}\u23F9 "
|
||||
elif [ $(bc -l <<< "$(bc <<< "scale=2; ${OLD_temp_f[1]}+(${PW_TEMPIND_DIFF}*2)") < ${temp_f}") -eq 1 ]; then
|
||||
echo -en "${idsCL[LightRed]}\u25B2 "
|
||||
elif [ $(bc -l <<< "${OLD_temp_f[1]} < ${temp_f}") -eq 1 ]; then
|
||||
echo -en "${idsCL[Magenta]}\u25B2 "
|
||||
elif [ $(bc -l <<< "${temp_f} < $(bc <<< "scale=2; ${OLD_temp_f[1]}-(${PW_TEMPIND_DIFF}*2)")") -eq 1 ]; then
|
||||
echo -en "${idsCL[LightGreen]}\u25BC "
|
||||
elif [ $(bc -l <<< "${temp_f} < ${OLD_temp_f[1]}") -eq 1 ]; then
|
||||
echo -en "${idsCL[LightCyan]}\u25BC "
|
||||
else
|
||||
echo -en " "
|
||||
fi
|
||||
done
|
||||
elif [ "${avgdays}" = "noavg" ]; then
|
||||
c=0; spca=''; until [ ${c} = ${#PW_TEMPIND_RANGE[@]} ]; do spca="${spca} "; ((c++)); done
|
||||
echo -en " "
|
||||
fi
|
||||
|
||||
|
||||
|
||||
OLD1_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL 30 MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL 20 MINUTE) ORDER BY date ASC LIMIT 1")); OLD1_temp_f=${OLD1_temp_f[1]}
|
||||
OLD2_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL 60 MINUTE) AND date >= DATE_SUB(NOW(), INTERVAL 50 MINUTE) ORDER BY date ASC LIMIT 1")); OLD2_temp_f=${OLD2_temp_f[1]}
|
||||
@@ -143,7 +167,7 @@ CHECKTEMP(){
|
||||
elif [ $(bc -l <<< "${temp_f} < ${OLD1_temp_f}") -eq 1 ]; then
|
||||
echo -en " ${idsCL[LightCyan]}\u25BC "
|
||||
else
|
||||
echo -en "${reading} "
|
||||
echo -en " "
|
||||
fi
|
||||
if [ "${OLD2_temp_f}" != "" ]; then
|
||||
if [ $(bc -l <<< "${temp_f} < $(echo "scale=2; ${OLD2_temp_f}+${PW_TEMPIND_DIFF}" | bc)") -eq 1 ] && [ $(bc -l <<< "$(echo "scale=2; ${OLD2_temp_f}-${PW_TEMPIND_DIFF}" | bc) < ${temp_f}") -eq 1 ]; then
|
||||
@@ -170,7 +194,7 @@ CHECKTEMP(){
|
||||
temp_f_disp=" "
|
||||
lclr="${idsCL[Yellow]}"
|
||||
lmd=""
|
||||
reading="${idsCL[Yellow]}Sensor ${temp_f^} "
|
||||
echo -en "${idsCL[Yellow]}Sensor ${temp_f^} "
|
||||
temp_f=""
|
||||
fi
|
||||
else
|
||||
@@ -178,7 +202,7 @@ CHECKTEMP(){
|
||||
temp_f_disp=" "
|
||||
lclr="${idsCL[Yellow]}"
|
||||
lmd=""
|
||||
reading="${idsCL[Yellow]}Sensor Offline "
|
||||
echo -en "${idsCL[Yellow]}Sensor Offline "
|
||||
fi
|
||||
|
||||
echo -en "${idsCL[Default]}"
|
||||
@@ -187,7 +211,7 @@ CHECKTEMP(){
|
||||
echo -en " / ${idsCL[Yellow]}Calculating ${avgdays_disp} average ... "
|
||||
average=$(AVERAGETEMP ${SENSOR} ${avgdays})
|
||||
([ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ] && [[ "${SENSOR}" = *"FAN"* ]]) && average_disp=$(IDS_NUMBER_FORMAT ${average}) || average_disp=${average}
|
||||
c=0; spca=''; spc1=`expr 6 - ${#average_disp}`; until [ ${c} = ${spc1} ]; do spca="${spca} "; c=`expr ${c} + 1`; done
|
||||
c=0; spca=''; spc1=`expr 6 - ${#average_disp}`; until [ ${c} = ${spc1} ]; do spca="${spca} "; ((c++)); done
|
||||
if [ "${average_disp}" == "" ]; then
|
||||
averagedisp="${idsCL[Green]}"
|
||||
elif [ $(bc -l <<< "${average} >= ${temp_warn}") -eq 1 ] && [ $(bc -l <<< "${average} < ${temp_crit}") -eq 1 ]; then
|
||||
@@ -207,7 +231,7 @@ CHECKTEMP(){
|
||||
fws=16
|
||||
tmp="${spct}${temp_f_disp}${GAUGESH}"
|
||||
fi
|
||||
c=0; spc=''; spc1=`expr ${fws} - ${#tmp}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr ${fws} - ${#tmp}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
[ ${#temp_warn} == 2 ] && spcw=' ' || spcw=' '
|
||||
[ ${#temp_crit} == 2 ] && spcc=' ' || spcc=' '
|
||||
echo -en
|
||||
@@ -306,7 +330,7 @@ CHECKTEMP(){
|
||||
temp_warn=`echo "scale=1; ${temp_warn}/10" | bc`; temp_warn=`echo $(bc <<< "scale=2; ((${temp_warn}*(9/5))+32)/1") | awk '{print int($1+0.5)}'`
|
||||
temp_crit=$(snmpwalk -v 1 -c public -t 2 ${vHOSTiDRACIP} .1.3.6.1.4.1.674.10892.5.4.700.20.1.10.1.${t} -O vq | sed -e 's/"//g')
|
||||
temp_crit=`echo "scale=1; ${temp_crit}/10" | bc`; temp_crit=`echo $(bc <<< "scale=2; ((${temp_crit}*(9/5))+32)/1") | awk '{print int($1+0.5)}'`
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#sensorname} - 1`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#sensorname} - 1`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
IFS=: read -r temp_f temp_h <<< $(CHECKTEMPSENSOR ${SENSOR}); unset IFS
|
||||
|
||||
entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${sensorname// /_}' AND sensorid='${PW_SENSOR_ID[${SENSOR}]}'"))
|
||||
@@ -326,7 +350,7 @@ CHECKTEMP(){
|
||||
lclr="${idsCL[Green]}"
|
||||
lmd="Normal "
|
||||
fi
|
||||
c=0; spct=''; spc1=`expr 7 - ${#temp_f}`; until [ ${c} = ${spc1} ]; do spct="${spct} "; c=`expr ${c} + 1`; done
|
||||
c=0; spct=''; spc1=`expr 7 - ${#temp_f}`; until [ ${c} = ${spc1} ]; do spct="${spct} "; ((c++)); done
|
||||
reading="${lclr}${lmd}${spct}${temp_f}${GAUGESH}"
|
||||
echo -en "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${reading}"
|
||||
|
||||
@@ -369,7 +393,7 @@ CHECKTEMP(){
|
||||
echo -en " / ${idsCL[Yellow]}Calculating ${avgdays_disp} average ... "
|
||||
average=$(AVERAGETEMP ${SENSOR} ${avgdays} ${sensorname// /_})
|
||||
([ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ] && [[ "${SENSOR}" = *"FAN"* ]]) && average_disp=$(IDS_NUMBER_FORMAT ${average}) || average_disp=${average}
|
||||
c=0; spca=''; spc1=`expr 6 - ${#average_disp}`; until [ ${c} = ${spc1} ]; do spca="${spca} "; c=`expr ${c} + 1`; done
|
||||
c=0; spca=''; spc1=`expr 6 - ${#average_disp}`; until [ ${c} = ${spc1} ]; do spca="${spca} "; ((c++)); done
|
||||
if [ "${average_disp}" == "" ]; then
|
||||
averagedisp="${idsCL[Green]}"
|
||||
elif [ $(bc -l <<< "${average} >= ${temp_crit}") -eq 1 ] || ([ "${TTYPE}" == "fans" ] && [ $(bc -l <<< "${average} > $(bc <<< "scale=2; ${GL_HIGH}+5")") -eq 1 ]); then
|
||||
@@ -388,11 +412,11 @@ CHECKTEMP(){
|
||||
[ ${#temp_crit} == 2 ] && spcc=' ' || spcc=' '
|
||||
if [ "${TTYPE}" == "fans" ]; then
|
||||
tmp="${lmd}${spct}${temp_f}${GAUGESH}"
|
||||
c=0; spc=''; spc1=`expr ${fws} - ${#tmp} + 5`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr ${fws} - ${#tmp} + 5`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -e "${spc}${idsCL[Default]}[ ${idsCL[Green]}${GL_LOW}°F${idsCL[Default]} <--> ${idsCL[LightYellow]}${GL_HIGH}°F${idsCL[Default]} ]"
|
||||
else
|
||||
tmp="${spct}${temp_f}${GAUGESH}"
|
||||
c=0; spc=''; spc1=`expr ${fws} - ${#tmp}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr ${fws} - ${#tmp}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -e "${spc}${idsCL[Default]}[${spcw}${idsCL[Yellow]}${temp_warn}${GAUGESH}${idsCL[Default]} /${spcc}${idsCL[LightRed]}${temp_crit}${GAUGESH}=>${idsCL[Default]} ]"
|
||||
fi
|
||||
else
|
||||
@@ -1344,7 +1368,7 @@ SENDTEMP(){
|
||||
fi
|
||||
|
||||
[ "${PW_DESC_TEMP[${SENSOR}]}" != "" ] && SENSOR_DESC=${PW_DESC_TEMP[${SENSOR}]} || SENSOR_DESC=${SENSOR}
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR_DESC}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR_DESC}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
if [ "${temp_c}" != "null" ] && [ "${temp_c}" != "" ]; then
|
||||
if [ "${SENSOR}" == "ServerRoomTH" ]; then
|
||||
temp_f=`echo "scale=2; (${temp_c}*(9/5))+32+${PW_ServerRoomTH_Dev}" | bc`
|
||||
|
||||
12
powerwall.sh
12
powerwall.sh
@@ -54,7 +54,7 @@ SERVICE_MNG(){
|
||||
sa="${idsCL[Yellow]}Status for"
|
||||
fi
|
||||
MSG="${sa} Service - ${idsCL[LightCyan]}${PW_POWERWALL_SERVICES[${1}]}"
|
||||
c=0; spc=''; spc1=`expr 53 - ${#MSG}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr 53 - ${#MSG}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -en "${idsCL[LightCyan]}${MSG}${spc}${idsCL[Default]}: "
|
||||
/bin/systemctl ${2} ${PW_POWERWALL_SERVICES[${1}]}
|
||||
echo -e "${idsCL[Green]}Done${idsCL[Default]}"
|
||||
@@ -70,7 +70,7 @@ CHECK_SERVICES(){
|
||||
DIVIDER . yellow ${PRI_WIDTH}
|
||||
|
||||
for srvc in "${PW_POWERWALL_SERVICES[@]}"; do
|
||||
c=0; spc=''; spc1=`expr 25 - ${#srvc}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr 25 - ${#srvc}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -en "${idsCL[LightCyan]}${srvc}${spc}: "
|
||||
[ "$(systemctl is-active ${srvc})" == "active" ] && echo -en "${idsCL[Green]}Running" || echo -en "${idsCL[Yellow]}Not Running"
|
||||
echo -e "${idsCL[Default]}"
|
||||
@@ -566,12 +566,12 @@ HOSTMGMT(){
|
||||
[ ${MN} -eq 1 ] && ssppcc=31 || ssppcc=21
|
||||
([ "${ESXI,,}" == "maint" ] || [ "${ESXI,,}" == "maintenance" ] || [ "${ESXI,,}" == "mm" ]) && MM=1 || MM=0
|
||||
|
||||
c=0; spcA=''; spc1=`expr ${ssppcc} - ${#hostname} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done
|
||||
c=0; spcA=''; spc1=`expr ${ssppcc} - ${#hostname} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${hostname}${spcA}"
|
||||
if [ ${MN} -eq 1 ]; then
|
||||
echo -e ""
|
||||
else
|
||||
c=0; spcB=''; spc1=`expr ${ssppcc} - 3 - ${#ESXI_HOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done
|
||||
c=0; spcB=''; spc1=`expr ${ssppcc} - 3 - ${#ESXI_HOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -en "${idsCL[LightCyan]}Host IP: ${idsCL[Green]}${ESXI_HOST}${spcB}"
|
||||
echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${idracip}${idsCL[Default]}"
|
||||
fi
|
||||
@@ -837,7 +837,7 @@ if [[ "${1}" != *"_service" ]] && [[ "${noheader}" != *" ${1} "* ]] && [[ "${noh
|
||||
echo
|
||||
DIVIDER . lightGreen ${PRI_WIDTH}
|
||||
msg="|| PowerWall Management ${idsCL[Default]}"
|
||||
c=0; spc=''; spc1=`expr 77 - ${#msg} - ${#VERS}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr 77 - ${#msg} - ${#VERS}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -e "${idsCL[LightGreen]}${msg}${spc}${idsCL[LightGray]}v${VERS} ${idsCL[LightGreen]}||${idsCL[Default]}"
|
||||
DIVIDER . lightGreen ${PRI_WIDTH}
|
||||
fi
|
||||
@@ -987,7 +987,7 @@ fi
|
||||
|
||||
elif [ "${3}" == "status" ]; then
|
||||
srvc=${PW_POWERWALL_SERVICES[${2}]}
|
||||
c=0; spc=''; spc1=`expr 25 - ${#srvc}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; c=`expr ${c} + 1`; done
|
||||
c=0; spc=''; spc1=`expr 25 - ${#srvc}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
echo -e "${idsCL[LightCyan]}${srvc}${spc}: "
|
||||
[ "$(systemctl is-active ${srvc})" == "active" ] && echo -en "${idsCL[Green]}Running" || echo -en "${idsCL[Yellow]}Not Running"
|
||||
echo -e "${idsCL[Default]}"
|
||||
|
||||
Reference in New Issue
Block a user