From d1870df69ed5ed71c35422cfb112c63465e505f3 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sun, 5 Nov 2023 19:58:25 -0600 Subject: [PATCH] Update offsite-power-check.sh --- offsite-power-check.sh | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/offsite-power-check.sh b/offsite-power-check.sh index dafe646e..104dfe7f 100755 --- a/offsite-power-check.sh +++ b/offsite-power-check.sh @@ -36,7 +36,7 @@ PWO_START(){ SENDNOTICE2 "OFFSITE POWER MONITOR" "Service starting" while true; do upsinfo=$(upsc CP1500PFCLCD) - if [ "${upsinfo}" != "" ]; then + if [ "$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')" != "" ]; then OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //') OFFSITE_BATT_RUNTIME=$(echo "${upsinfo}" | grep 'battery.runtime:' | sed 's/.*: //') OFFSITE_BATT_RUNTIME=`echo "scale=2; ${OFFSITE_BATT_RUNTIME}/60" | bc` @@ -58,15 +58,16 @@ VOLTAGE: ${OFFSITE_VOLTIN}'Volts" touch ${PW_TMPFOLDER}/power.offsite.restored elif [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.restored)) -gt 300 ]; then - echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${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} 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 & 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}% Batt - Normal" >> ${PW_LOGPOWER} + [ $(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} 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} SENDNOTICE2 "OFFSITE POWER - POWER OFF/LOW!!" "Power off or low voltage detected BATT CAPACITY: ${OFFSITE_BATT_CAP}'(percent) BATT RUNTIME: ${OFFSITE_BATT_RUNTIME}'Mins" 1 @@ -74,12 +75,12 @@ BATT RUNTIME: ${OFFSITE_BATT_RUNTIME}'Mins" 1 fi if [ ${OFFSITE_BATT_CAP%.*} -lt 70 ] && [ ! -f ${PW_TMPFOLDER}/power.offsite.off ]; then - echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_BATT_CAP}% Battery - Powering Down Hosts!" >> ${PW_LOGFILE} + 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 & 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}% Batt - OFF/LOW POWER!!" >> ${PW_LOGPOWER} + [ $(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} fi else @@ -87,7 +88,7 @@ BATT RUNTIME: ${OFFSITE_BATT_RUNTIME}'Mins" 1 /usr/local/etc/rc.d/nut.sh restart sleep 10s fi - sleep 10s + sleep 5s done } @@ -106,6 +107,10 @@ case $1 in start) PWO_START &;; stop) PWO_STOP;; restart) PWO_RESTART;; + update) + cd ${PW_TMPFOLDER} + git pull + ;; esac