Update offsite-power-check.sh

This commit is contained in:
2023-12-11 10:58:22 -06:00
parent fbfc7cce38
commit ccd95027b1

View File

@@ -25,9 +25,25 @@ RENOTIFY_LOWPOWER=10 #minutes
PW_OFFSITEHOSTS="10.2.1.11" PW_OFFSITEHOSTS="10.2.1.11"
# PW_OFFSITEHOSTS="10.2.1.11 10.2.1.12" # PW_OFFSITEHOSTS="10.2.1.11 10.2.1.12"
for host in ${PW_OFFSITEHOSTS}; do if [ -f ${PW_TMPFOLDER}/power.offsite.off ]; then
echo "H: ${host}" if [ ! -f ${PW_TMPFOLDER}/power.offsite.restored ]; then
done touch ${PW_TMPFOLDER}/power.offsite.restored
elif [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.restored)) -gt 30 ]; then
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_BATT_CAP}'% Battery - Powering Hosts ON After Power Outage" >> ${PW_LOGFILE}
SENDNOTICE "OFFSITE HOST POWER" "Powering offsite host(s) back ONLINE after power outage"
for host in ${PW_OFFSITEHOSTS}; do
if [ "${TEST}" == "" ] || [ "${TEST}" == "full" ]; then
echo "Powering on after power outage"
echo "ipmitool -I lanplus -H ${host} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on"
# ipmitool -I lanplus -H ${host} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on &
else
echo "TESTMODE: Powering up '${host}'"
fi
done
rm -f ${PW_TMPFOLDER}/power.offsite.*
fi
fi
# TEST=true # TEST=true
TEST=full TEST=full
@@ -42,8 +58,6 @@ else
TESTMODE="" TESTMODE=""
fi fi
PWO_START(){ PWO_START(){
startup=true startup=true
while true; do while true; do
@@ -90,24 +104,24 @@ $(date)"
rm -f ${PW_TMPFOLDER}/power.offsite.ac.* rm -f ${PW_TMPFOLDER}/power.offsite.ac.*
fi fi
if [ -f ${PW_TMPFOLDER}/power.offsite.off ]; then # if [ -f ${PW_TMPFOLDER}/power.offsite.off ]; then
if [ ! -f ${PW_TMPFOLDER}/power.offsite.restored ]; then # if [ ! -f ${PW_TMPFOLDER}/power.offsite.restored ]; then
touch ${PW_TMPFOLDER}/power.offsite.restored # touch ${PW_TMPFOLDER}/power.offsite.restored
#
elif [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.restored)) -gt $(echo "scale=2; ${WAIT_TO_POWER_SERVERS}*60" | bc) ]; then # elif [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.restored)) -gt $(echo "scale=2; ${WAIT_TO_POWER_SERVERS}*60" | bc) ]; then
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_BATT_CAP}'% Battery - Powering Hosts ON After Power Outage" >> ${PW_LOGFILE} # echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_BATT_CAP}'% Battery - Powering Hosts ON After Power Outage" >> ${PW_LOGFILE}
SENDNOTICE "OFFSITE HOST POWER" "Powering offsite host(s) back ONLINE after power outage" # SENDNOTICE "OFFSITE HOST POWER" "Powering offsite host(s) back ONLINE after power outage"
for host in ${PW_OFFSITEHOSTS}; do # for host in ${PW_OFFSITEHOSTS}; do
if [ "${TEST}" == "" ] || [ "${TEST}" == "full" ]; then # if [ "${TEST}" == "" ] || [ "${TEST}" == "full" ]; then
echo "Powering on after power outage" # echo "Powering on after power outage"
ipmitool -I lanplus -H ${host} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on & # ipmitool -I lanplus -H ${host} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on &
else # else
echo "TESTMODE: Powering up '${host}'" # echo "TESTMODE: Powering up '${host}'"
fi # fi
done # done
rm -f ${PW_TMPFOLDER}/power.offsite.* # rm -f ${PW_TMPFOLDER}/power.offsite.*
fi # fi
fi # fi
logtime=$(expr `date +%s` - $(stat -f %m ${PW_LOGPOWER})) logtime=$(expr `date +%s` - $(stat -f %m ${PW_LOGPOWER}))
if [ ${logtime} -ge $(echo "scale=2; ${LOG_INTERVAL_NORMAL}*60" | bc) ] || ([ ${OFFSITE_BATT_CAP%.*} -lt 100 ] && [ ${logtime} -gt ${LOG_INTERVAL_CHARGING} ]); then if [ ${logtime} -ge $(echo "scale=2; ${LOG_INTERVAL_NORMAL}*60" | bc) ] || ([ ${OFFSITE_BATT_CAP%.*} -lt 100 ] && [ ${logtime} -gt ${LOG_INTERVAL_CHARGING} ]); then
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_WATTS}'watts - ${OFFSITE_BATT_CAP}'% Battery - ${OFFSITE_BATT_RUNTIME}'mins - Normal" >> ${PW_LOGPOWER} echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'volts - ${OFFSITE_WATTS}'watts - ${OFFSITE_BATT_CAP}'% Battery - ${OFFSITE_BATT_RUNTIME}'mins - Normal" >> ${PW_LOGPOWER}