This commit is contained in:
2023-11-03 20:25:41 -05:00
parent 187ab8a3f0
commit 93bfa29000
2 changed files with 59 additions and 26 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
VERS='2.3.143-11032023'
VERS='2.3.145-11032023'
noheader=' update service dailytemp '

View File

@@ -705,57 +705,57 @@ CHECKPOWER_SERVICE(){
if (( $(bc <<<"${INPUTACV} >= ${min_acvolt}") )); then
if [ ${voltstatus} -eq 3 ]; then
echo "(${datetime}) - ${INPUTACV}V - Back to Normal Voltage" >> ${PW_LOGPOWER}
echo "(${datetime}) - ${INPUTACV}'V - Back to Normal Voltage" >> ${PW_LOGPOWER}
SENDNOTICE "POWER NOMINAL AGAIN" "(${datetime}) Normal voltage detected
VOLTAGE: ${INPUTACV}V"
echo -e "(${datetime}) - ${INPUTACV}V - POWER NOMINAL AGAIN" >> ${PW_LOGFILE}
VOLTAGE: ${INPUTACV}'V"
echo -e "(${datetime}) - ${INPUTACV}'V - POWER NOMINAL AGAIN" >> ${PW_LOGFILE}
battstatus=0
else
errtime=$(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER}))
[ ${errtime} -ge 3600 ] && echo "(${datetime}) - ${INPUTACV}V - Normal Voltage" >> ${PW_LOGPOWER}
[ ${errtime} -ge 3600 ] && echo "(${datetime}) - ${INPUTACV}'V - Normal Voltage" >> ${PW_LOGPOWER}
if [ ${voltstatus} -eq 0 ]; then
SENDNOTICE "Power Nominal" "(${datetime}) Service Startup
Normal voltage detected
VOLTAGE: ${INPUTACV}V
BATT VOLTAGE: ${BATTVOLT}V"
echo "(${datetime}) - Input: ${INPUTACV}V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
echo -e "(${datetime}) - ${INPUTACV}V / ${BATTVOLT}V - Service Startup - Normal Voltage" >> ${PW_LOGFILE}
VOLTAGE: ${INPUTACV}'V
BATT VOLTAGE: ${BATTVOLT}'V"
echo "(${datetime}) - Input: ${INPUTACV}'V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
echo -e "(${datetime}) - ${INPUTACV}'V / ${BATTVOLT}'V - Service Startup - Normal Voltage" >> ${PW_LOGFILE}
fi
fi
voltstatus=1
rm -f ${PW_TMPFOLDER}/power.ac.*
else
echo "(${datetime}) - ${INPUTACV}V - POWER OFF/LOW POWER" >> ${PW_LOGPOWER}
echo -e "(${datetime}) - ${INPUTACV}V - POWER OFF/LOW POWER" >> ${PW_LOGFILE}
echo "(${datetime}) - ${INPUTACV}'V - POWER OFF/LOW POWER" >> ${PW_LOGPOWER}
echo -e "(${datetime}) - ${INPUTACV}'V - POWER OFF/LOW POWER" >> ${PW_LOGFILE}
if [ ${voltstatus} -lt 3 ]; then
SENDNOTICE "POWER ALERT - POWER OFF/LOW POWER!!" "(${datetime}) Power off or low voltage detected
VOLTAGE: ${INPUTACV}V
BATT VOLTAGE: ${BATTVOLT}V" 1
last_battvolt=$BATTVOLT
VOLTAGE: ${INPUTACV}'V
BATT VOLTAGE: ${BATTVOLT}'V" 1
last_battvolt=${BATTVOLT}
fi
voltstatus=3
touch ${PW_TMPFOLDER}/power.ac.low
fi
if (( $(bc <<<"${BATTVOLT} < ${min_battvolt} && ${BATTVOLT} > ${min_battvolt_sys}") )); then
echo "(${datetime}) - ${BATTVOLT}V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
echo -e "(${datetime}) - ${BATTVOLT}V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
echo "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
echo -e "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
touch ${PW_TMPFOLDER}/power.dc.low
if (( $(bc <<<"${battstatus} < 2 && ${INPUTACV} < ${min_acvolt}") )); then
echo "(${datetime}) - ${BATTVOLT}V - Shutting down main servers..." >> ${PW_LOGPOWER}
SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "(${datetime}) Battery Voltage LOW: ${BATTVOLT}V
echo "(${datetime}) - ${BATTVOLT}'V - Shutting down main servers..." >> ${PW_LOGPOWER}
SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "(${datetime}) Battery Voltage LOW: ${BATTVOLT}'V
Shutting down main servers" 1
SHUTDOWN_MAIN POWER &
battstatus=2
fi
elif (( $(bc <<<"${BATTVOLT} <= ${min_battvolt_sys}") )); then
echo "(${datetime}) - ${BATTVOLT}V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
echo -e "(${datetime}) - ${BATTVOLT}V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
echo "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
echo "(${datetime}) - ${BATTVOLT}'V - LOW BATTERY VOLTAGE" >> ${PW_LOGFILE}
touch ${PW_TMPFOLDER}/power.dc.low
if (( $(bc <<<"${battstatus} < 3 && ${INPUTACV} < ${min_acvolt}") )); then
echo "(${datetime}) - ${BATTVOLT}V - Shutting down all remaining servers..." >> ${PW_LOGPOWER}
SENDNOTICE "BATT-VOLT REALLY LOW: SHUTDOWN SYS SERVERS" "(${datetime}) Battery Voltage REALLY LOW: ${BATTVOLT}V
echo "(${datetime}) - ${BATTVOLT}'V - Shutting down all remaining servers..." >> ${PW_LOGPOWER}
SENDNOTICE "BATT-VOLT REALLY LOW: SHUTDOWN SYS SERVERS" "(${datetime}) Battery Voltage REALLY LOW: ${BATTVOLT}'V
Shutting down all servers" 1
SHUTDOWN_SYS POWER &
@@ -765,9 +765,9 @@ Shutting down all servers" 1
else
errtime=$(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER}))
[ ${errtime} -ge 3600 ] && echo "(${datetime}) - ${BATTVOLT}V - Battery Voltage" >> ${PW_LOGPOWER}
[ ${errtime} -ge 3600 ] && echo "(${datetime}) - ${BATTVOLT}'V - Battery Voltage" >> ${PW_LOGPOWER}
if [ ${battstatus} -eq 0 ]; then
echo "(${datetime}) - Battery: ${BATTVOLT}V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
echo "(${datetime}) - Battery: ${BATTVOLT}'V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
fi
rm -f ${PW_TMPFOLDER}/power.dc.*
battstatus=1
@@ -777,14 +777,47 @@ Shutting down all servers" 1
volt_diff=`echo "scale=1; ${last_battvolt}-${BATTVOLT}" | bc`
(( $(bc <<<"${volt_diff} < 0") )) && temp_diff=`echo "scale=1; ${volt_diff} * -1" | bc`
if (( $(bc <<<"${volt_diff} > 0") )); then
SENDNOTICE "BATTERY VOLTAGE CHANGE" "(${datetime}) Battery Voltage: ${BATTVOLT}V"
echo -e "(${datetime}) - ${BATTVOLT}V - Battery Voltage Change" >> ${PW_LOGPOWER}
SENDNOTICE "BATTERY VOLTAGE CHANGE" "(${datetime}) Battery Voltage: ${BATTVOLT}'V"
echo -e "(${datetime}) - ${BATTVOLT}'V - Battery Voltage Change" >> ${PW_LOGPOWER}
last_battvolt=${BATTVOLT}
fi
else
sleep 20s
fi
######offsite check
if [ "$(CHECK_HOST 10.2.1.100)" != "false" ]; then
OFFSITE_VOLTIN=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.3.2.1.0 | sed 's/.*: //')
OFFSITE_VOLTIN=`echo "scale=2; ${OFFSITE_VOLTIN}/10" | bc`
OFFSITE_LOAD=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.3.0 | sed 's/.*: //')
if (( $(bc <<<"${OFFSITE_VOLTIN} >= ${min_acvolt}") )); then
if [ -f ${PW_TMPFOLDER}/power.ac.offsite.low ]; then
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - Offsite Back to Normal Voltage" >> ${PW_LOGPOWER}
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER NOMINAL AGAIN" >> ${PW_LOGFILE}
SENDNOTICE "OFFSITE POWER NOMINAL AGAIN" "(${datetime}) Normal voltage detected
VOLTAGE: ${OFFSITE_VOLTIN}'V"
rm -f ${PW_TMPFOLDER}/power.ac.offsite.low
else
errtime=$(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER}))
[ ${errtime} -le 300 ] && echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - Offsite Normal Voltage" >> ${PW_LOGPOWER}
fi
else
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGPOWER}
echo "(${datetime}) - ${OFFSITE_VOLTIN}'V - OFFSITE POWER OFF/LOW POWER" >> ${PW_LOGFILE}
errtime=$(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.offsite.low))
if [ ! -f ${PW_TMPFOLDER}/power.ac.offsite.low ] || [ ${errtime} -ge 300 ]; then
SENDNOTICE "OFFSITE POWER ALERT - POWER OFF/LOW!!" "(${datetime}) Power off or low voltage detected
VOLTAGE: ${OFFSITE_VOLTIN}'V" 1
touch ${PW_TMPFOLDER}/power.ac.offsite.low
fi
fi
fi
if [ "${archivedone}" != "complete" ] && [ $(date +%d) -eq 1 ] && [ $(date +%H)$(date +%M) -ge 0000 ] && [ $(date +%H)$(date +%M) -le 0005 ]; then
LOGROTATE &
archivedone=complete