update
This commit is contained in:
@@ -14,20 +14,20 @@ PW_LOGPOWER=${PW_LOGFOLDER}/log-power
|
||||
|
||||
. /opt/idssys/powerwall/settings.conf
|
||||
|
||||
SHUTDOWNSERVERS_AT_LOAD=90 #percent
|
||||
SHUTDOWNSERVERS_AT_LOAD=80 #percent
|
||||
SHUTDOWNSERVERS_AFTER=5 #minutes
|
||||
WAIT_TO_POWER_SERVERS=5 #minutes
|
||||
LOG_INTERVAL_NORMAL=60 #minutes
|
||||
LOG_INTERVAL_ABNORMAL=30 #seconds
|
||||
LOG_INTERVAL_CHARGING=120 #seconds
|
||||
RENOTIFY_LOWPOWER=5 #minutes
|
||||
RENOTIFY_LOWPOWER=10 #minutes
|
||||
|
||||
PW_OFFSITEHOSTS="10.2.1.11"
|
||||
# PW_OFFSITEHOSTS="10.2.1.11 10.2.1.12"
|
||||
|
||||
# TEST=true #full
|
||||
if [ "$TEST" != "" ]; then
|
||||
SHUTDOWNSERVERS_AT_LOAD=70
|
||||
SHUTDOWNSERVERS_AT_LOAD=95
|
||||
WAIT_TO_POWER_SERVERS=1
|
||||
LOG_INTERVAL_NORMAL=1
|
||||
LOG_INTERVAL_ABNORMAL=1
|
||||
@@ -116,14 +116,12 @@ $(date)"
|
||||
touch ${PW_TMPFOLDER}/power.offsite.ac.low.notice
|
||||
fi
|
||||
|
||||
# if ([ ${OFFSITE_BATT_CAP%.*} -le ${SHUTDOWNSERVERS_AT_LOAD} ] || [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.ac.low)) -ge $(echo "scale=2; ${SHUTDOWNSERVERS_AFTER}*60" | bc) ]) && [ ! -f ${PW_TMPFOLDER}/power.offsite.off ]; then
|
||||
if [ ${OFFSITE_BATT_CAP%.*} -le ${SHUTDOWNSERVERS_AT_LOAD} ] && [ ! -f ${PW_TMPFOLDER}/power.offsite.off ]; then
|
||||
if ([ ${OFFSITE_BATT_CAP%.*} -le ${SHUTDOWNSERVERS_AT_LOAD} ] || [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.offsite.ac.low)) -ge $(echo "scale=2; ${SHUTDOWNSERVERS_AFTER}*60" | bc) ]) && [ ! -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}
|
||||
SENDNOTICE "OFFSITE HOST POWER" "Powering DOWN offsite host(s) due to power outage" 1
|
||||
touch ${PW_TMPFOLDER}/power.offsite.off
|
||||
for host in ${PW_OFFSITEHOSTS}; do
|
||||
if [ "$TEST" = "" ] || [ "$TEST" = "full" ]; then
|
||||
# ssh root@${host} /vmfs/volumes/652c94ef-ee49895b-365d-00109b3fea40/.SCRIPTS/esxi-shutdown2.sh &
|
||||
ssh root@${host} sh < ${PW_FOLDER}/esxi-scripts/esxi-shutdown2.sh &
|
||||
else
|
||||
echo "TESTMODE: Shutting down '${host}'"
|
||||
@@ -136,17 +134,16 @@ $(date)"
|
||||
fi
|
||||
|
||||
else
|
||||
if [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.ups.losscomm)) -ge 30 ]; then
|
||||
if [ ! -f ${PW_TMPFOLDER}/power.ups.losscomm ]; then
|
||||
touch ${PW_TMPFOLDER}/power.ups.losscomm
|
||||
|
||||
elif [ $(expr `date +%s` - $(stat -f %m ${PW_TMPFOLDER}/power.ups.losscomm)) -ge 60 ]; then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - 0.0'volts - 0'% Battery - Restarting NUT service" >> ${PW_LOGFILE}
|
||||
SENDNOTICE "NUT DRIVER FAILURE" "Restarting NUT service"
|
||||
/usr/local/etc/rc.d/nut.sh restart
|
||||
sleep 10s
|
||||
rm -f ${PW_TMPFOLDER}/power.ups.losscomm
|
||||
|
||||
elif [ ! -f ${PW_TMPFOLDER}/power.ups.losscomm ]; then
|
||||
touch ${PW_TMPFOLDER}/power.ups.losscomm
|
||||
fi
|
||||
|
||||
fi
|
||||
sleep 5s
|
||||
done
|
||||
@@ -164,38 +161,38 @@ PWO_RESTART() {
|
||||
|
||||
}
|
||||
|
||||
# LOGROTATE(){
|
||||
# lm=`expr $(date +'%m') - 1`
|
||||
# if [ ${lm} = 0 ]; then
|
||||
# lm=12
|
||||
# ly=`expr $(date +'%Y') - 1`
|
||||
# else
|
||||
# ly=$(date +'%Y')
|
||||
# fi
|
||||
# [ ${lm} -lt 10 ] && lm="0${lm}"
|
||||
# ARCHIVEFOLDER=${PW_LOGARCHIVE}/${ly}-${lm}
|
||||
# # mkdir -p ${ARCHIVEFOLDER}
|
||||
# # mv ${PW_LOGFOLDER}/log* ${ARCHIVEFOLDER}/ 2> /dev/null
|
||||
# [ ! -f ${PW_LOGFILE} ] && touch ${PW_LOGFILE}
|
||||
# [ ! -f ${PW_LOGPOWER} ] && touch ${PW_LOGPOWER}
|
||||
# backupstokeep=($(ls -d ${PW_LOGARCHIVE}/* 2> /dev/null | sort | tail -12))
|
||||
# for folder in $(ls -d ${PW_LOGARCHIVE}/* | sort -r); do
|
||||
# keep=0
|
||||
# for filetokeep in ${backupstokeep[@]}; do
|
||||
# echo "$folder $filetokeep"
|
||||
# if [ "${folder}" == "${filetokeep}" ]; then
|
||||
# keep=1; break
|
||||
# fi
|
||||
# done;
|
||||
# [ ${keep} == 0 ] && rm -Rf ${folder}
|
||||
# done
|
||||
# }
|
||||
LOGROTATE(){
|
||||
lm=`expr $(date +'%m') - 1`
|
||||
if [ ${lm} = 0 ]; then
|
||||
lm=12
|
||||
ly=`expr $(date +'%Y') - 1`
|
||||
else
|
||||
ly=$(date +'%Y')
|
||||
fi
|
||||
[ ${lm} -lt 10 ] && lm="0${lm}"
|
||||
ARCHIVEFOLDER=${PW_LOGARCHIVE}/${ly}-${lm}
|
||||
mkdir -p ${ARCHIVEFOLDER}
|
||||
PWO_STOP
|
||||
mv ${PW_LOGFOLDER}/log* ${ARCHIVEFOLDER}/ 2> /dev/null
|
||||
PWO_START
|
||||
backupstokeep=($(ls -d ${PW_LOGARCHIVE}/* 2> /dev/null | sort | tail -12))
|
||||
for folder in $(ls -d ${PW_LOGARCHIVE}/* | sort -r); do
|
||||
keep=0
|
||||
for filetokeep in ${backupstokeep[@]}; do
|
||||
echo "$folder $filetokeep"
|
||||
if [ "${folder}" == "${filetokeep}" ]; then
|
||||
keep=1; break
|
||||
fi
|
||||
done;
|
||||
[ ${keep} == 0 ] && rm -Rf ${folder}
|
||||
done
|
||||
}
|
||||
|
||||
case $1 in
|
||||
start) PWO_START &;;
|
||||
stop) PWO_STOP;;
|
||||
restart) PWO_RESTART;;
|
||||
# logrotate) LOGROTATE;;
|
||||
logrotate) LOGROTATE;;
|
||||
update)
|
||||
cd ${PW_FOLDER}
|
||||
if [ "`git log --pretty=%H ...refs/heads/master^ | head -n 1`" != "`git ls-remote origin -h refs/heads/master |cut -f1`" ]; then
|
||||
|
||||
Reference in New Issue
Block a user