Update offsite-power-check.sh
This commit is contained in:
@@ -10,6 +10,19 @@ PW_TMPFOLDER=${PW_FOLDER}/.tmp
|
||||
|
||||
. /opt/idssys/powerwall/settings.conf
|
||||
|
||||
SHUTDOWNSERVERS_AT_LOAD=70 #percent
|
||||
WAIT_TO_POWER_SERVERS=5 #minutes
|
||||
LOG_INTERVAL_NORMAL=60 #minutes
|
||||
LOG_INTERVAL_ABNORMAL=5 #minutes
|
||||
|
||||
TEST=true
|
||||
if [ "$TEST" = "true" ]; then
|
||||
SHUTDOWNSERVERS_AT_LOAD=95 #percent
|
||||
WAIT_TO_POWER_SERVERS=1 #minutes
|
||||
LOG_INTERVAL_NORMAL=1 #minutes
|
||||
LOG_INTERVAL_ABNORMAL=1 #minutes
|
||||
fi
|
||||
|
||||
|
||||
SENDNOTICE2(){
|
||||
TITLE=${1}
|
||||
@@ -57,14 +70,17 @@ VOLTAGE: ${OFFSITE_VOLTIN}'Volts"
|
||||
if [ ! -f ${PW_TMPFOLDER}/power.offsite.restored ]; then
|
||||
touch ${PW_TMPFOLDER}/power.offsite.restored
|
||||
|
||||
elif [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.restored)) -gt 300 ]; then
|
||||
elif [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.restored)) -gt $(expr ${WAIT_TO_POWER_SERVERS} * 60) ]; then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'Volts - ${OFFSITE_BATT_CAP}% Battery - Powering Hosts ON After Power Outage" >> ${PW_LOGFILE}
|
||||
SENDNOTICE2 "OFFSITE HOST POWER" "Powering offsite host(s) back on after power outage"
|
||||
ipmitool -I lanplus -H 10.2.1.21 -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on &
|
||||
[ "$TEST" != "true" ] && ipmitool -I lanplus -H 10.2.1.21 -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power on &
|
||||
rm -f ${PW_TMPFOLDER}/power.offsite.*
|
||||
fi
|
||||
fi
|
||||
[ $(expr `date +%s` - $(stat -f %m ${PW_LOGPOWER})) -gt 300 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'Volts - ${OFFSITE_BATT_CAP}% Battery - Normal" >> ${PW_LOGPOWER}
|
||||
logtime=$(expr `date +%s` - $(stat -f %m ${PW_LOGPOWER}))
|
||||
if [ ${logtime} -gt $(expr ${LOG_INTERVAL_NORMAL} * 60) ] || ([ ${OFFSITE_BATT_CAP%.*} -lt 100 ] && [ ${logtime} -gt $(expr ${LOG_INTERVAL_ABNORMAL} * 60) ]); then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'Volts - ${OFFSITE_BATT_CAP}% Battery - Normal" >> ${PW_LOGPOWER}
|
||||
fi
|
||||
else
|
||||
if [ ! -f ${PW_TMPFOLDER}/power.offsite.ac.low ] || [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.ac.low)) -gt 240 ]; then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'Volts - ${OFFSITE_BATT_CAP}% Battery - Powering LOW/OFF!" >> ${PW_LOGFILE}
|
||||
@@ -74,13 +90,13 @@ BATT RUNTIME: ${OFFSITE_BATT_RUNTIME}'Mins" 1
|
||||
touch ${PW_TMPFOLDER}/power.offsite.ac.low
|
||||
fi
|
||||
|
||||
if [ ${OFFSITE_BATT_CAP%.*} -lt 70 ] && [ ! -f ${PW_TMPFOLDER}/power.offsite.off ]; then
|
||||
if [ ${OFFSITE_BATT_CAP%.*} -lt ${SHUTDOWNSERVERS_AT_LOAD} ] && [ ! -f ${PW_TMPFOLDER}/power.offsite.off ]; then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'Volts - ${OFFSITE_BATT_CAP}% Battery - Powering Down Hosts!" >> ${PW_LOGFILE}
|
||||
SENDNOTICE2 "OFFSITE HOST POWER" "Powering DOWN offsite host(s) due to power outage" 1
|
||||
touch ${PW_TMPFOLDER}/power.offsite.off
|
||||
ssh root@10.2.1.11 /vmfs/volumes/652c94ef-ee49895b-365d-00109b3fea40/.SCRIPTS/esxi-shutdown2.sh &
|
||||
[ "$TEST" != "true" ] && ssh root@10.2.1.11 /vmfs/volumes/652c94ef-ee49895b-365d-00109b3fea40/.SCRIPTS/esxi-shutdown2.sh &
|
||||
fi
|
||||
[ $(expr `date +%s` - $(stat -f %m ${PW_LOGPOWER})) -gt 300 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'Volts - ${OFFSITE_BATT_CAP}% Battery - OFF/LOW POWER!!" >> ${PW_LOGPOWER}
|
||||
[ $(expr `date +%s` - $(stat -f %m ${PW_LOGPOWER})) -gt $(expr ${LOG_INTERVAL_ABNORMAL} * 60) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'Volts - ${OFFSITE_BATT_CAP}% Battery - OFF/LOW POWER!!" >> ${PW_LOGPOWER}
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user