update
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
VERS='2.3.143-11032023'
|
||||
VERS='2.3.145-11032023'
|
||||
|
||||
noheader=' update service dailytemp '
|
||||
|
||||
|
||||
83
powerwall.sh
83
powerwall.sh
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user