diff --git a/defaults.inc b/defaults.inc index a80d322c..d2eef2d3 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.168-08122023' +VERS='2.2.1-08132023' noheader=' update service dailytemp ' @@ -16,61 +16,63 @@ min_battvolt_sys=47 #47 FOLDER='/opt/idssys/powerwall' -LOGFOLDER=${FOLDER}/logs -LOGARCHIVE=${FOLDER}/logs/archive -TMPFOLDER=${FOLDER}/.tmp -[ ! -d ${LOGFOLDER} ] && mkdir ${LOGFOLDER} -[ ! -d ${LOGARCHIVE} ] && mkdir ${LOGARCHIVE} -[ ! -d ${TMPFOLDER} ] && mkdir ${TMPFOLDER} +PW_LOGFOLDER=${PW_FOLDER}/logs +PW_LOGARCHIVE=${PW_FOLDER}/logs/archive +PW_TMPFOLDER=${PW_FOLDER}/.tmp +[ ! -d ${PW_LOGFOLDER} ] && mkdir ${PW_LOGFOLDER} +[ ! -d ${PW_LOGARCHIVE} ] && mkdir ${PW_LOGARCHIVE} +[ ! -d ${PW_TMPFOLDER} ] && mkdir ${PW_TMPFOLDER} -logfile=${LOGFOLDER}/logfile -logpower=${LOGFOLDER}/log-power -[ ! -f ${logfile} ] && touch ${logfile} -[ ! -f ${logpower} ] && touch ${logpower} +PW_LOGFILE=${PW_LOGFOLDER}/logfile +PW_LOGPOWER=${PW_LOGFOLDER}/log-power +[ ! -f ${PW_LOGFILE} ] && touch ${PW_LOGFILE} +[ ! -f ${PW_LOGPOWER} ] && touch ${PW_LOGPOWER} -declare -A TEMP_THRESHOLDS -# TEMP_THRESHOLDS['ServerRoomTH']="72,74,76" -TEMP_THRESHOLDS['ServerRoomTH']="83,88,95" -TEMP_THRESHOLDS['RaspberryPI-CPU']="122,131,176" -TEMP_THRESHOLDS['OctoPI-CPU']="122,131,176" +declare -A PW_TEMP_THRESHOLDS +# PW_TEMP_THRESHOLDS['ServerRoomTH']="72,74,76" +PW_TEMP_THRESHOLDS['ServerRoomTH']="83,88,95" +PW_TEMP_THRESHOLDS['RaspberryPI-CPU']="122,131,176" +PW_TEMP_THRESHOLDS['OctoPI-CPU']="122,131,176" -declare -A SENSOR_TYPE -SENSOR_TYPE['ServerRoomTH']='mqtt' -SENSOR_TYPE['RaspberryPI-CPU']='system' -SENSOR_TYPE['OctoPI-CPU']='remotesystem' +declare -A PW_SENSOR_TYPE +PW_SENSOR_TYPE['ServerRoomTH']='mqtt' +PW_SENSOR_TYPE['RaspberryPI-CPU']='system' +PW_SENSOR_TYPE['OctoPI-CPU']='remotesystem' -declare -A REMOTE_SENSORS -REMOTE_SENSORS['ServerRoomTH']='10.10.20.10' -REMOTE_SENSORS['OctoPI-CPU']='10.10.1.80' +declare -A PW_REMOTE_SENSORS +PW_REMOTE_SENSORS['ServerRoomTH']='10.10.20.10' +PW_REMOTE_SENSORS['OctoPI-CPU']='10.10.1.80' -declare -A SENSOR_ID -SENSOR_ID['ServerRoomTH']='2' -SENSOR_ID['RaspberryPI-CPU']='6' -SENSOR_ID['OctoPI-CPU']='7' +declare -A PW_SENSOR_ID +PW_SENSOR_ID['ServerRoomTH']='2' +PW_SENSOR_ID['RaspberryPI-CPU']='6' +PW_SENSOR_ID['OctoPI-CPU']='7' -declare -A POWERWALL_SERVICES -POWERWALL_SERVICES['temp']='monitor-temp' -POWERWALL_SERVICES['power']='monitor-power' -# POWERWALL_SERVICES['powerlogger']='monitor-powerlogger' +declare -A PW_POWERWALL_SERVICES +PW_POWERWALL_SERVICES['temp']='monitor-temp' +PW_POWERWALL_SERVICES['power']='monitor-power' +# PW_POWERWALL_SERVICES['powerlogger']='monitor-powerlogger' -declare -A ESXI_HOST_NAMES -ESXI_HOST_NAMES['10.10.2.10']='ids-vms-scsi.scity.us' -ESXI_HOST_NAMES['10.10.2.11']='ids-vms1.scity.us' -ESXI_HOST_NAMES['10.10.2.12']='ids-vms2.scity.us' -ESXI_HOST_NAMES['10.10.2.17']='ids-vms7.scity.us' +declare -A PW_ESXI_HOST_NAMES +PW_ESXI_HOST_NAMES['10.10.2.10']='ids-vms-scsi.scity.us' +PW_ESXI_HOST_NAMES['10.10.2.11']='ids-vms1.scity.us' +PW_ESXI_HOST_NAMES['10.10.2.12']='ids-vms2.scity.us' +PW_ESXI_HOST_NAMES['10.10.2.17']='ids-vms7.scity.us' +PW_ESXI_HOST_NAMES['10.2.1.18']='ids-vms-offsite.scity.us' - -MAINHOSTS=10.10.2.10,10.10.2.11,10.10.2.12 -SYSHOSTS=10.10.2.17 -ESXIHOSTS="${MAINHOSTS},${SYSHOSTS}" -VCENTERHOST=10.10.1.30 +PW_VCENTERHOST=10.10.1.30 +PW_MAINHOSTS=10.10.2.10,10.10.2.11,10.10.2.12 +PW_SYSHOSTS=10.10.2.17 +PW_OFFSITEHOSTS=10.2.1.18 +PW_MAINSITE_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS}" +PW_ALL_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS},${PW_OFFSITEHOSTS}" IFS=, -ESXIHOSTS=(${ESXIHOSTS}) -MAINHOSTS=(${MAINHOSTS}) -SYSHOSTS=(${SYSHOSTS}) +PW_MAINSITE_HOSTS=(${PW_MAINSITE_HOSTS}) +PW_MAINHOSTS=(${PW_MAINHOSTS}) +PW_SYSHOSTS=(${PW_SYSHOSTS}) unset IFS SENDNOTICE(){ diff --git a/esxi-scripts/host-maintenance_mode.ps1 b/esxi-scripts/host-maintenance_mode.ps1 index cf04ce32..4e7f6333 100755 --- a/esxi-scripts/host-maintenance_mode.ps1 +++ b/esxi-scripts/host-maintenance_mode.ps1 @@ -2,6 +2,6 @@ . /opt/idssys/powerwall/settings.ps1 -Connect-VIServer -Server $VCENTERHOST -Protocol https -User $VCENTERUSER -Password $VCENTERPASS +Connect-VIServer -Server $PW_VCENTERHOST -Protocol https -User $VCENTERUSER -Password $VCENTERPASS Get-VMHost -Name $args[0] | set-vmhost -State Maintenance diff --git a/powerwall.sh b/powerwall.sh index 31261962..1f71dcfa 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -6,7 +6,7 @@ action="${1}" source /opt/idssys/defaults/colors.inc source /opt/idssys/defaults/default.inc source /opt/idssys/powerwall/defaults.inc -source ${FOLDER}/settings.conf +source ${PW_FOLDER}/settings.conf # TEST=true @@ -26,7 +26,7 @@ CHECKTEMP(){ # c=0; spc=''; spc1=`expr ${cw} - ${#1}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done # echo -e "${idsCL[LightCyan]}${1}${spc}${idsCL[Default]}: ${reading}" - for SENSOR in ${!SENSOR_ID[@]}; do + for SENSOR in ${!PW_SENSOR_ID[@]}; do if [[ "${SENSOR}" = *"${1}"* ]]; then echo -en "${idsCL[Yellow]}Pulling data and calculating averages for '${SENSOR}' ..." reading=$(CHECKTEMPSENSOR ${SENSOR}) @@ -36,7 +36,7 @@ CHECKTEMP(){ done else - for SENSOR in ${!SENSOR_ID[@]}; do + for SENSOR in ${!PW_SENSOR_ID[@]}; do echo -en "${idsCL[Yellow]}Pulling data and calculating averages for '${SENSOR}' ..." reading=$(CHECKTEMPSENSOR ${SENSOR}) c=0; spc=''; spc1=`expr ${cw} - ${#SENSOR}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done @@ -46,21 +46,21 @@ CHECKTEMP(){ [ "${action}" != "" ] && echo } CHECKTEMPSENSOR(){ - echo ${TEMP_THRESHOLDS[${1}]} | cut -d',' -f 1 | read temp_warn - echo ${TEMP_THRESHOLDS[${1}]} | cut -d',' -f 2 | read temp_crit - average=$(AVERAGETEMP ${SENSOR_ID[${1}]} 3) + echo ${PW_TEMP_THRESHOLDS[${1}]} | cut -d',' -f 1 | read temp_warn + echo ${PW_TEMP_THRESHOLDS[${1}]} | cut -d',' -f 2 | read temp_crit + average=$(AVERAGETEMP ${PW_SENSOR_ID[${1}]} 3) - if [ "${SENSOR_TYPE[${1}]}" == "mqtt" ]; then + if [ "${PW_SENSOR_TYPE[${1}]}" == "mqtt" ]; then mqtt_message=`${mqtt_conn} -t tele/${1}/SENSOR -C 1` echo $mqtt_message | cut -d':' -f 6 | cut -d',' -f 1 | read temp_c - elif [ "${SENSOR_TYPE[${1}]}" == "system" ]; then + elif [ "${PW_SENSOR_TYPE[${1}]}" == "system" ]; then temp_c=$(vcgencmd measure_temp) temp_c=${temp_c%\'*}; temp_c=${temp_c#*=} - elif [ "${SENSOR_TYPE[${1}]}" == "remotesystem" ]; then - if [ "$(CHECK_HOST ${REMOTE_SENSORS[${1}]})" != "false" ]; then - temp_c=$(ssh root@${REMOTE_SENSORS[${1}]} vcgencmd measure_temp) + elif [ "${PW_SENSOR_TYPE[${1}]}" == "remotesystem" ]; then + if [ "$(CHECK_HOST ${PW_REMOTE_SENSORS[${1}]})" != "false" ]; then + temp_c=$(ssh root@${PW_REMOTE_SENSORS[${1}]} vcgencmd measure_temp) temp_c=${temp_c%\'*}; temp_c=${temp_c#*=} fi @@ -114,32 +114,32 @@ CHECKTEMP_SERVICE(){ declare -A last_temp while true; do - for SENSOR in ${!SENSOR_ID[@]}; do - logtemp=${LOGFOLDER}/log-temp-${SENSOR} + for SENSOR in ${!PW_SENSOR_ID[@]}; do + logtemp=${PW_LOGFOLDER}/log-temp-${SENSOR} [ ! -f ${logtemp} ] && touch ${logtemp} errtime=$(expr `date +%s` - $(stat -c %Y ${logtemp})) [ $errtime -ge 3600 ] && relog=1 || relog=0 - if [ "${REMOTE_SENSORS[${SENSOR}]}" == "" ] || ([ "${REMOTE_SENSORS[${SENSOR}]}" != "" ] && [ "$(CHECK_HOST ${REMOTE_SENSORS[${SENSOR}]})" != "false" ]); then - if [ -f ${TMPFOLDER}/${SENSOR}.down ]; then + if [ "${PW_REMOTE_SENSORS[${SENSOR}]}" == "" ] || ([ "${PW_REMOTE_SENSORS[${SENSOR}]}" != "" ] && [ "$(CHECK_HOST ${PW_REMOTE_SENSORS[${SENSOR}]})" != "false" ]); then + if [ -f ${PW_TMPFOLDER}/${SENSOR}.down ]; then SENDNOTICE "${SENSOR} Online" "${SENSOR} Sensor is back online" echo "($datetime) - ${SENSOR} - ${SENSOR} Sensor is back onlione" >> ${logtemp} - rm -f ${TMPFOLDER}/${SENSOR}.down + rm -f ${PW_TMPFOLDER}/${SENSOR}.down fi - if [ "${SENSOR_TYPE[${SENSOR}]}" == "mqtt" ]; then + if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "mqtt" ]; then mqtt_message=`${mqtt_conn} -t tele/${SENSOR}/SENSOR -C 1` echo $mqtt_message | cut -d':' -f 7 | cut -d',' -f 1 | read temp_h echo $mqtt_message | cut -d':' -f 6 | cut -d',' -f 1 | read temp_c - elif [ "${SENSOR_TYPE[${SENSOR}]}" == "system" ]; then + elif [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ]; then temp_c=$(vcgencmd measure_temp) temp_c=${temp_c%\'*}; temp_c=${temp_c#*=} temp_h='' - elif [ "${SENSOR_TYPE[${SENSOR}]}" == "remotesystem" ]; then - temp_c=$(ssh root@${REMOTE_SENSORS[${SENSOR}]} vcgencmd measure_temp) + elif [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "remotesystem" ]; then + temp_c=$(ssh root@${PW_REMOTE_SENSORS[${SENSOR}]} vcgencmd measure_temp) temp_c=${temp_c%\'*}; temp_c=${temp_c#*=} temp_h='' @@ -147,17 +147,17 @@ CHECKTEMP_SERVICE(){ datetime=`date +'%Y-%m-%d %H:%M:%S'` if [ "$temp_c" != "null" ] && [ "$temp_c" != "" ]; then - if [ -f ${TMPFOLDER}/${SENSOR}-error.reading ]; then + if [ -f ${PW_TMPFOLDER}/${SENSOR}-error.reading ]; then SENDNOTICE "${SENSOR} Data" "${SENSOR} is reporting data again" echo "($datetime) - ${SENSOR} - ${SENSOR} is reporting data again" >> ${logtemp} - rm -f ${TMPFOLDER}/${SENSOR}-error.reading + rm -f ${PW_TMPFOLDER}/${SENSOR}-error.reading fi temp_f=`echo "scale=2; $temp_c*1.8 + 32" | bc` - echo ${TEMP_THRESHOLDS[${SENSOR}]} | cut -d',' -f 1 | read temp_warn - echo ${TEMP_THRESHOLDS[${SENSOR}]} | cut -d',' -f 2 | read temp_crit - echo ${TEMP_THRESHOLDS[${SENSOR}]} | cut -d',' -f 3 | read temp_crit_sys + echo ${PW_TEMP_THRESHOLDS[${SENSOR}]} | cut -d',' -f 1 | read temp_warn + echo ${PW_TEMP_THRESHOLDS[${SENSOR}]} | cut -d',' -f 2 | read temp_crit + echo ${PW_TEMP_THRESHOLDS[${SENSOR}]} | cut -d',' -f 3 | read temp_crit_sys if [ "${last_temp[${SENSOR}]}" != "" ]; then temp_diff=`expr ${last_temp[${SENSOR}]%.*} - ${temp_f%.*}` @@ -168,7 +168,7 @@ CHECKTEMP_SERVICE(){ fi if [ $(bc -l <<< "$temp_f >= $temp_warn") -eq 1 ] && [ $(bc -l <<< "$temp_f < $temp_crit") -eq 1 ]; then - touch ${TMPFOLDER}/temp.warn + touch ${PW_TMPFOLDER}/temp.warn if [ $temp_diff -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then SENDNOTICE "${SENSOR} TEMP WARNING" "($datetime) WARNING TEMP: ${temp_f}'F - (Difference of ${temp_diff}')" 1 echo "($datetime) - ${temp_f}'F - alert sent" >> ${logtemp} @@ -177,86 +177,86 @@ CHECKTEMP_SERVICE(){ fi elif [ $(bc -l <<< "$temp_f >= $temp_crit") -eq 1 ] && [ $(bc -l <<< "$temp_f < $temp_crit_sys") -eq 1 ]; then - touch ${TMPFOLDER}/temp.crit + touch ${PW_TMPFOLDER}/temp.crit if [ $temp_diff -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then SENDNOTICE "${SENSOR} TEMP CRITICAL" "($datetime) CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}') Shutting down servers!!" 1 echo "($datetime) - ${temp_f}'F - CRITICAL - (Difference of ${temp_diff}'F)" >> ${logtemp} echo "($datetime) - ${temp_f}'F - alert sent" >> ${logtemp} - echo -e "($datetime) - ${SENSOR} - ${temp_f}'F - CRITICAL TEMP - (Difference of ${temp_diff}')" >> ${logfile} + echo -e "($datetime) - ${SENSOR} - ${temp_f}'F - CRITICAL TEMP - (Difference of ${temp_diff}')" >> ${PW_LOGFILE} last_temp[${SENSOR}]=$temp_f SHUTDOWN_MAIN ${SENSOR} & echo -e "($datetime) - ${temp_f}'F - Shutting down MAIN servers" >> ${logtemp} fi elif [ $(bc -l <<< "$temp_f >= $temp_crit_sys") -eq 1 ]; then - touch ${TMPFOLDER}/temp.critsys + touch ${PW_TMPFOLDER}/temp.critsys if [ $temp_diff -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then SENDNOTICE "${SENSOR} TEMP CRITICAL" "($datetime) SYSTEM CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}') Shutting down system servers!!" 1 echo "($datetime) - ${temp_f}'F - SYSTEM CRITICAL - (Difference of ${temp_diff})" >> ${logtemp} echo "($datetime) - ${temp_f}'F - alert sent" >> ${logtemp} - echo -e "($datetime) - ${temp_f}'F - ${SENSOR} - CRITICAL TEMP SYSTEM - (Difference of ${temp_diff}')" >> ${logfile} + echo -e "($datetime) - ${temp_f}'F - ${SENSOR} - CRITICAL TEMP SYSTEM - (Difference of ${temp_diff}')" >> ${PW_LOGFILE} last_temp[${SENSOR}]=$temp_f SHUTDOWN_SYS ${SENSOR} TEMP & SHUTDOWN_CRIT ${SENSOR} & echo -e "($datetime) - ${temp_f}'F - Shutting down SYS servers" >> ${logtemp} fi else - [ ! -f ${TMPFOLDER}/temp.* ] && [ $(expr `date +%s` - $(stat -c %Y ${TMPFOLDER}/.${SENSOR}.sentdaily)) -gt 600 ] && [ $(date +%H)$(date +%M) -ge 0700 ] && [ $(date +%H)$(date +%M) -lt 0705 ] && touch ${TMPFOLDER}/.${SENSOR}.sentdaily && SENDNOTICE "Daily Temp Readings" "$(DAILYTEMP)" & + [ ! -f ${PW_TMPFOLDER}/temp.* ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.${SENSOR}.sentdaily)) -gt 600 ] && [ $(date +%H)$(date +%M) -ge 0700 ] && [ $(date +%H)$(date +%M) -lt 0705 ] && touch ${PW_TMPFOLDER}/.${SENSOR}.sentdaily && SENDNOTICE "Daily Temp Readings" "$(DAILYTEMP)" & if [ ${last_temp[${SENSOR}]} -gt 1 ]; then SENDNOTICE "${SENSOR} BACK TO NORMAL" "($datetime) NORMAL TEMP: ${temp_f}'F Previous Temp: ${last_temp[${SENSOR}]}'F" echo -e "($datetime) - ${temp_f}'F - Back to NORMAL TEMP - Previous Temp: ${last_temp[${SENSOR}]}'F" >> ${logtemp} echo "($datetime) - ${temp_f}'F - alert sent" >> ${logtemp} - echo -e "($datetime) - ${temp_f}'F - ${SENSOR} - Back to NORMAL TEMP" >> ${logfile} - [ "$(compgen -G "${FOLDER}/shutdown.*")" != "" ] && rm -f ${FOLDER}/shutdown.* + echo -e "($datetime) - ${temp_f}'F - ${SENSOR} - Back to NORMAL TEMP" >> ${PW_LOGFILE} + [ "$(compgen -G "${PW_FOLDER}/shutdown.*")" != "" ] && rm -f ${PW_FOLDER}/shutdown.* elif [ ${last_temp[${SENSOR}]} -eq 0 ]; then SENDNOTICE "${SENSOR} TEMP NORMAL" "($datetime) Service Startup NORMAL TEMP: ${temp_f}'F" echo -e "($datetime) - ${temp_f}'F - Service Startup - NORMAL TEMP" >> ${logtemp} - echo -e "($datetime) - ${temp_f}'F - ${SENSOR} - Service Startup" >> ${logfile} - [ "$(compgen -G "${FOLDER}/shutdown.*")" != "" ] && rm -f ${FOLDER}/shutdown.* + echo -e "($datetime) - ${temp_f}'F - ${SENSOR} - Service Startup" >> ${PW_LOGFILE} + [ "$(compgen -G "${PW_FOLDER}/shutdown.*")" != "" ] && rm -f ${PW_FOLDER}/shutdown.* elif [ $relog -eq 1 ]; then echo "($datetime) - ${temp_f}'F - Normal Temp" >> ${logtemp} fi - rm -f ${TMPFOLDER}/temp.* + rm -f ${PW_TMPFOLDER}/temp.* last_temp[${SENSOR}]=1 fi - [ -f ${TMPFOLDER}/${SENSOR}.insert ] && lastinsert=$(expr `date +%s` - $(stat -c %Y ${TMPFOLDER}/${SENSOR}.insert)) || lastinsert=100000 - if [ "$(compgen -G "${TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.dc.*")" != "" ]; then + [ -f ${PW_TMPFOLDER}/${SENSOR}.insert ] && lastinsert=$(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.insert)) || lastinsert=100000 + if [ "$(compgen -G "${PW_TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.dc.*")" != "" ]; then wait=60 else wait=300 fi if [ ${lastinsert} -ge ${wait} ]; then if [ "${temp_h}" != "" ]; then - QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`, \`hum\`) VALUES ('${SENSOR_ID[${SENSOR}]}','${datetime}','${temp_f}','${temp_h}')" + QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`, \`hum\`) VALUES ('${PW_SENSOR_ID[${SENSOR}]}','${datetime}','${temp_f}','${temp_h}')" else - QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`) VALUES ('${SENSOR_ID[${SENSOR}]}','${datetime}','${temp_f}')" + QRY="USE servermonitor; INSERT INTO sensor_data (\`sensorid\`, \`date\`, \`temp\`) VALUES ('${PW_SENSOR_ID[${SENSOR}]}','${datetime}','${temp_f}')" fi ${mysql_conn} -e "${QRY}" - touch ${TMPFOLDER}/${SENSOR}.insert + touch ${PW_TMPFOLDER}/${SENSOR}.insert fi else - if [ ! -f ${TMPFOLDER}/${SENSOR}-error.reading ] || [ $(expr `date +%s` - $(stat -c %Y ${TMPFOLDER}/${SENSOR}-error.reading)) -ge 1800 ]; then + if [ ! -f ${PW_TMPFOLDER}/${SENSOR}-error.reading ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}-error.reading)) -ge 1800 ]; then SENDNOTICE "${SENSOR} Sensor ERROR" "($datetime) ERROR reading sensor data" 1 echo "($datetime) - ${SENSOR} Sensor - ERROR reading sensor data" >> ${logtemp} - touch ${TMPFOLDER}/${SENSOR}-error.reading + touch ${PW_TMPFOLDER}/${SENSOR}-error.reading fi fi else - if [ ! -f ${TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then + if [ ! -f ${PW_TMPFOLDER}/${SENSOR}.down ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/${SENSOR}.down)) -ge 1800 ]; then SENDNOTICE "${SENSOR} ERROR" "${SENSOR} Sensor is down" 1 echo "($datetime) - ${SENSOR} - ${SENSOR} Sensor is down" >> ${logtemp} - touch ${TMPFOLDER}/${SENSOR}.down + touch ${PW_TMPFOLDER}/${SENSOR}.down fi fi @@ -274,15 +274,15 @@ DAILYTEMP(){ echo echo -e "Sensor Temperature(s) Now / 1DayAVG / 7DayAVG" DIVIDER . . 60 - for SENSOR in ${!SENSOR_ID[@]}; do - average1=$(AVERAGETEMP ${SENSOR_ID[$SENSOR]} 1) - average7=$(AVERAGETEMP ${SENSOR_ID[$SENSOR]} 7) + for SENSOR in ${!PW_SENSOR_ID[@]}; do + average1=$(AVERAGETEMP ${PW_SENSOR_ID[$SENSOR]} 1) + average7=$(AVERAGETEMP ${PW_SENSOR_ID[$SENSOR]} 7) - if [ "${SENSOR_TYPE[${SENSOR}]}" == "mqtt" ]; then + if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "mqtt" ]; then mqtt_message=`${mqtt_conn} -t tele/${SENSOR}/SENSOR -C 1` temp_c=$(echo $mqtt_message | cut -d':' -f 6 | cut -d',' -f 1) - elif [ "${SENSOR_TYPE[${SENSOR}]}" == "system" ]; then + elif [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ]; then temp_c=$(vcgencmd measure_temp) temp_c=${temp_c%\'*}; temp_c=${temp_c#*=} @@ -331,12 +331,12 @@ CHECKPOWER(){ CHECKPOWER_SERVICE(){ voltstatus=0 battstatus=0 - # rm -f ${TMPFOLDER}/powerlogger.insert + # rm -f ${PW_TMPFOLDER}/powerlogger.insert while true; do INVSTATSINFO=$(curl -s "http://10.10.0.61/stats.json") if [ "${INVSTATSINFO}" != "" ]; then - [ -f ${TMPFOLDER}/powerlogger.insert ] && lastinsert=$(expr `date +%s` - $(stat -c %Y ${TMPFOLDER}/powerlogger.insert)) || lastinsert=100000 - if [ "$(compgen -G "${TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.dc.*")" != "" ]; then + [ -f ${PW_TMPFOLDER}/powerlogger.insert ] && lastinsert=$(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/powerlogger.insert)) || lastinsert=100000 + if [ "$(compgen -G "${PW_TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.dc.*")" != "" ]; then wait=60 else wait=300 @@ -350,46 +350,46 @@ CHECKPOWER_SERVICE(){ datetime=`date +'%Y-%m-%d %H:%M:%S'` if [ ${INPUTACV} -ge ${min_acvolt} ]; then if [ $voltstatus -eq 3 ]; then - echo "($datetime) - ${INPUTACV}V - Back to Normal Voltage" >> ${logpower} + echo "($datetime) - ${INPUTACV}V - Back to Normal Voltage" >> ${PW_LOGPOWER} SENDNOTICE "POWER NOMINAL AGAIN" "($datetime) Normal voltage detected VOLTAGE: ${INPUTACV}V" - echo "($datetime) alert sent" >> ${logpower} - echo -e "($datetime) - ${INPUTACV}V - POWER NOMINAL AGAIN" >> ${logfile} + echo "($datetime) alert sent" >> ${PW_LOGPOWER} + echo -e "($datetime) - ${INPUTACV}V - POWER NOMINAL AGAIN" >> ${PW_LOGFILE} battstatus=0 else - errtime=$(expr `date +%s` - $(stat -c %Y ${logpower})) - [ $errtime -ge 3600 ] && echo "($datetime) - ${INPUTACV}V - Normal Voltage" >> ${logpower} + errtime=$(expr `date +%s` - $(stat -c %Y ${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" >> ${logpower} - echo -e "($datetime) - ${INPUTACV}V / ${BATTVOLT}V - Service Startup - Normal Voltage" >> ${logfile} + 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 ${TMPFOLDER}/power.ac.* + rm -f ${PW_TMPFOLDER}/power.ac.* else - echo "($datetime) - ${INPUTACV}V - POWER OFF/LOW POWER" >> ${logpower} - echo -e "($datetime) - ${INPUTACV}V - POWER OFF/LOW POWER" >> ${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 - echo "($datetime) alert sent" >> ${logpower} + echo "($datetime) alert sent" >> ${PW_LOGPOWER} last_battvolt=$BATTVOLT fi voltstatus=3 - touch ${TMPFOLDER}/power.ac.low + touch ${PW_TMPFOLDER}/power.ac.low fi if [ ${BATTVOLT%.*} -lt ${min_battvolt} ] && [ ${BATTVOLT%.*} -gt ${min_battvolt_sys} ]; then - echo "($datetime) - ${BATTVOLT}V - LOW BATTERY Voltage" >> ${logpower} - echo -e "($datetime) - ${BATTVOLT}V - LOW BATTERY VOLTAGE" >> ${logfile} - touch ${TMPFOLDER}/power.dc.low + 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 [ $battstatus -lt 2 ] && [ ${INPUTACV} -lt ${min_acvolt} ]; then - echo "($datetime) - ${BATTVOLT}V - Shutting down main servers..." >> ${logpower} + 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 & @@ -397,11 +397,11 @@ CHECKPOWER_SERVICE(){ fi elif [ ${BATTVOLT%.*} -le ${min_battvolt_sys} ]; then - echo "($datetime) - ${BATTVOLT}V - LOW BATTERY Voltage" >> ${logpower} - echo -e "($datetime) - ${BATTVOLT}V - LOW BATTERY VOLTAGE" >> ${logfile} - touch ${TMPFOLDER}/power.dc.low + 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 [ $battstatus -lt 3 ] && [ ${INPUTACV} -lt ${min_acvolt} ]; then - echo "($datetime) - ${BATTVOLT}V - Shutting down all remaining servers..." >> ${logpower} + 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 & @@ -411,12 +411,12 @@ CHECKPOWER_SERVICE(){ fi else - errtime=$(expr `date +%s` - $(stat -c %Y ${logpower})) - [ $errtime -ge 3600 ] && echo "($datetime) - ${BATTVOLT}V - Battery Voltage" >> ${logpower} + errtime=$(expr `date +%s` - $(stat -c %Y ${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" >> ${logpower} + echo "($datetime) - Battery: ${BATTVOLT}V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER} fi - rm -f ${TMPFOLDER}/power.dc.* + rm -f ${PW_TMPFOLDER}/power.dc.* battstatus=1 fi @@ -425,7 +425,7 @@ CHECKPOWER_SERVICE(){ [ $volt_diff -lt 0 ] && temp_diff=$(($volt_diff * -1)) if [ $volt_diff -gt 0 ]; then SENDNOTICE "BATTERY VOLTAGE CHANGE" "($datetime) Battery Voltage: ${BATTVOLT}V" - echo -e "($datetime) - ${BATTVOLT}V - Battery Voltage Change" >> ${logpower} + echo -e "($datetime) - ${BATTVOLT}V - Battery Voltage Change" >> ${PW_LOGPOWER} last_battvolt=$BATTVOLT fi else @@ -465,7 +465,7 @@ POWERLOGGER(){ QRY="INSERT INTO inv_jsonstats (\`date\`, \`data\`) VALUES ('${datetime}','${INVSTATSINFO}')" ${mysql_conn} -e "USE servermonitor; ${QRY}" - touch ${TMPFOLDER}/powerlogger.insert + touch ${PW_TMPFOLDER}/powerlogger.insert } POWERLOGGER_SERVICE(){ @@ -490,7 +490,7 @@ POWERLOGGER_SERVICE(){ ${mysql_conn} -e "USE servermonitor; ${QRY}" - if [ "$(compgen -G "${TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${TMPFOLDER}/power.dc.*")" != "" ]; then + if [ "$(compgen -G "${PW_TMPFOLDER}/temp.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.ac.*")" != "" ] || [ "$(compgen -G "${PW_TMPFOLDER}/power.dc.*")" != "" ]; then sleep 1m else sleep 5m @@ -508,12 +508,12 @@ RESTARTALL_SERVICES(){ STARTALL_SERVICES } STOPALL_SERVICES(){ - for srvc in "${!POWERWALL_SERVICES[@]}"; do + for srvc in "${!PW_POWERWALL_SERVICES[@]}"; do SERVICE_MNG ${srvc} stop done } STARTALL_SERVICES(){ - for srvc in "${!POWERWALL_SERVICES[@]}"; do + for srvc in "${!PW_POWERWALL_SERVICES[@]}"; do SERVICE_MNG ${srvc} start done } @@ -531,13 +531,13 @@ SERVICE_MNG(){ sa='Status for' fi - echo -en "${idsCL[LightCyan]}${sa} ${POWERWALL_SERVICES[${1}]} Service ... " - /bin/systemctl ${2} ${POWERWALL_SERVICES[${1}]} + echo -en "${idsCL[LightCyan]}${sa} ${PW_POWERWALL_SERVICES[${1}]} Service ... " + /bin/systemctl ${2} ${PW_POWERWALL_SERVICES[${1}]} echo -e "${idsCL[Green]}Done${idsCL[Default]}" } STOP_SERVICE(){ echo "stop: ${1}" - service_pid=`systemctl show --property MainPID --value ${POWERWALL_SERVICES[${1}]}` + service_pid=`systemctl show --property MainPID --value ${PW_POWERWALL_SERVICES[${1}]}` /usr/bin/pkill -P $service_pid } @@ -546,7 +546,7 @@ CHECK_SERVICES(){ echo -e "${idsCL[Yellow]}PowerWall Monitor Service Status" DIVIDER . yellow 75 - for srvc in "${POWERWALL_SERVICES[@]}"; do + for srvc in "${PW_POWERWALL_SERVICES[@]}"; do c=0; spc=''; spc1=`expr 25 - ${#srvc}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done echo -en "${idsCL[LightCyan]}${srvc}${spc}: " [ "$(systemctl is-active ${srvc})" == "active" ] && echo -en "${idsCL[Green]}Running" || echo -en "${idsCL[Yellow]}Not Running" @@ -570,7 +570,7 @@ SHUTDOWN_MAIN(){ datetime=`date +'%Y-%m-%d %H:%M:%S'` SENDNOTICE "MAIN SERVERS SHUTDOWN" "($datetime) MAIN servers have been shutdown ${reason}" 1 - echo -e "($datetime) - Main servers have been shutdown, ${reason}" >> ${logfile} + echo -e "($datetime) - Main servers have been shutdown, ${reason}" >> ${PW_LOGFILE} fi echo @@ -585,7 +585,7 @@ SHUTDOWN_SYS(){ datetime=`date +'%Y-%m-%d %H:%M:%S'` SENDNOTICE "SYS SERVERS SHUTDOWN" "($datetime) SYS servers have been shutdown ${reason}" 1 - echo -e "($datetime) - SYS servers have been shutdown, ${reason}" >> ${logfile} + echo -e "($datetime) - SYS servers have been shutdown, ${reason}" >> ${PW_LOGFILE} fi # curl --data "cmd=PWRoff" http://10.10.0.61/cmd @@ -594,15 +594,15 @@ SHUTDOWN_SYS(){ SHUTDOWN_CRIT(){ if [ "${1}" == "RaspberryPI-CPU" ]; then SENDNOTICE "${SENSOR} TEMP CRITICAL" "($datetime) Powerwall System shutting down" 1 - echo -e "($datetime) - CRITICAL TEMP - Powerwall System shutting down" >> ${LOGFOLDER}/log-temp-${1} - echo -e "($datetime) - ${SENSOR} TEMP CRITICAL - Powerwall System shutting down" >> ${logfile} + echo -e "($datetime) - CRITICAL TEMP - Powerwall System shutting down" >> ${PW_LOGFOLDER}/log-temp-${1} + echo -e "($datetime) - ${SENSOR} TEMP CRITICAL - Powerwall System shutting down" >> ${PW_LOGFILE} /sbin/poweroff elif [ "${1}" == "OctoPI-CPU" ]; then SENDNOTICE "${SENSOR} TEMP CRITICAL" "($datetime) OctoPI System shutting down" 1 - echo -e "($datetime) - CRITICAL TEMP - OctoPI System shutting down" >> ${LOGFOLDER}/log-temp-${1} - echo -e "($datetime) - ${SENSOR} TEMP CRITICAL - OctoPI System shutting down" >> ${logfile} - # ssh root@${REMOTE_SENSORS[${1}]} /sbin/poweroff + echo -e "($datetime) - CRITICAL TEMP - OctoPI System shutting down" >> ${PW_LOGFOLDER}/log-temp-${1} + echo -e "($datetime) - ${SENSOR} TEMP CRITICAL - OctoPI System shutting down" >> ${PW_LOGFILE} + # ssh root@${PW_REMOTE_SENSORS[${1}]} /sbin/poweroff fi } @@ -618,42 +618,42 @@ SHUTDOWN_SERVERS(){ # /usr/bin/ssh root@${ESXIHOST} "/vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${ESXIHOST}.sh" # done - echo "($datetime) - Shutting down ${1} servers" >> ${logfile} - [ $TEST = true ] && echo "RUNNING IN TEST MODE" >> ${logfile} + echo "($datetime) - Shutting down ${1} servers" >> ${PW_LOGFILE} + [ $TEST = true ] && echo "RUNNING IN TEST MODE" >> ${PW_LOGFILE} if [ "${1}" = "MAIN" ]; then if [ ! -f $FOLDER/shutdown.main ]; then touch $FOLDER/shutdown.main echo -en "Disabling CLS in vCenter ... " if [ $TEST != true ]; then - ssh root@${VCENTERHOST} "sed -i '//{n;s/.*<\/enabled>/False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1 - ssh root@${VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1 - ssh root@${VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1 + ssh root@${PW_VCENTERHOST} "sed -i '//{n;s/.*<\/enabled>/False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1 + ssh root@${PW_VCENTERHOST} "service-control --stop vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1 + ssh root@${PW_VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1 fi echo "Done" - for ESXIHOST in "${ESXIHOSTS[@]}"; do + for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do echo -en "Stopping iSCSI VM's on: ${ESXIHOST} ... " - [ $TEST != true ] && ${FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 + [ $TEST != true ] && ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 echo "Done" done - for ESXIHOST in "${ESXIHOSTS[@]}"; do + for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do echo -en "Verifying iSCSI VM's stopped on: ${ESXIHOST} ... " - [ $TEST != true ] && ${FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1 + [ $TEST != true ] && ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown-verify.ps1 ${ESXIHOST} >/dev/null 2>&1 echo "Done" done # sleep 1m - for ESXIHOST in "${MAINHOSTS[@]}"; do + for ESXIHOST in "${PW_MAINHOSTS[@]}"; do echo -en "Stopping Remaining VM's on: ${ESXIHOST} ... " if [ $TEST != true ]; then ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0' & - ${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 - ${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 + ${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 + ${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 fi echo "Done" done sleep 1m - for ESXIHOST in "${MAINHOSTS[@]}"; do + for ESXIHOST in "${PW_MAINHOSTS[@]}"; do echo -en "Shutting down host: ${ESXIHOST} ..." if [ $TEST != true ]; then ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' @@ -662,7 +662,7 @@ SHUTDOWN_SERVERS(){ echo "Done" done - for ESXIHOST in "${MAINHOSTS[@]}"; do + for ESXIHOST in "${PW_MAINHOSTS[@]}"; do echo -en "Waiting for Host (${ESXIHOST}) to shutdown... " if [ $TEST != true ]; then while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do @@ -678,20 +678,20 @@ SHUTDOWN_SERVERS(){ if [ ! -f $FOLDER/shutdown.sys ]; then touch $FOLDER/shutdown.sys - for ESXIHOST in "${SYSHOSTS[@]}"; do + for ESXIHOST in "${PW_SYSHOSTS[@]}"; do echo -en "Suspending DB, PiHole & vCenter VM's on: ${ESXIHOST} ... " - [ $TEST != true ] && ${FOLDER}/esxi-scripts/sys-suspend.ps1 ${ESXIHOST} >/dev/null 2>&1 + [ $TEST != true ] && ${PW_FOLDER}/esxi-scripts/sys-suspend.ps1 ${ESXIHOST} >/dev/null 2>&1 echo "Done" done - for ESXIHOST in "${SYSHOSTS[@]}"; do + for ESXIHOST in "${PW_SYSHOSTS[@]}"; do echo -en "Shutting Down VM's on: ${ESXIHOST} ... " if [ $TEST != true ]; then - ${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 - ${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 + ${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 + ${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 fi echo "Done" done - for ESXIHOST in "${SYSHOSTS[@]}"; do + for ESXIHOST in "${PW_SYSHOSTS[@]}"; do echo -en "Shutting Down Host: ${ESXIHOST} ... " if [ $TEST != true ]; then ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0' @@ -701,7 +701,7 @@ SHUTDOWN_SERVERS(){ echo "Done" done - for ESXIHOST in "${SYSHOSTS[@]}"; do + for ESXIHOST in "${PW_SYSHOSTS[@]}"; do echo -en "Waiting for Host (${ESXIHOST}) to shutdown ... " if [ $TEST != true ]; then while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do @@ -714,17 +714,17 @@ SHUTDOWN_SERVERS(){ fi } SHUTDOWN_SERVER(){ - echo "($datetime) - Shutting down ${1}" >> ${logfile} + echo "($datetime) - Shutting down ${1}" >> ${PW_LOGFILE} echo -en "Enabling Maintenance mode and will wait for iSCSI VM's to begin migrating ... " - [ $TEST != true ] && ${FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${ESXI_HOST_NAMES[${1}]} & >/dev/null 2>&1 + [ $TEST != true ] && ${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${PW_ESXI_HOST_NAMES[${1}]} & >/dev/null 2>&1 sleep 45s echo "Done" echo -en "Shutting Down VM's on: ${1} ... " if [ $TEST != true ]; then - ${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${1} >/dev/null 2>&1 - ${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${1} >/dev/null 2>&1 + ${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${1} >/dev/null 2>&1 + ${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${1} >/dev/null 2>&1 fi echo "Done" @@ -745,9 +745,9 @@ SHUTDOWN_SERVER(){ } ISCSIVMSHUTDOWN(){ - for ESXIHOST in "${ESXIHOSTS[@]}"; do + for ESXIHOST in "${PW_MAINSITE_HOSTS[@]}"; do echo -en "${idsCL[LightCyan]}Shutting down any VM's on '${ESXIHOST}, that are running on an iSCSI drive ... " - ${FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 + ${PW_FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1 echo -e "${idsCL[Green]}DONE${idsCL[Default]}" echo done @@ -763,10 +763,10 @@ LOGROTATE(){ else ly=$(date +'%Y') fi - ARCHIVEFOLDER=${LOGARCHIVE}/${ly}-${lm} + ARCHIVEFOLDER=${PW_LOGARCHIVE}/${ly}-${lm} mkdir -p ${ARCHIVEFOLDER} - mv ${LOGFOLDER}/log* ${ARCHIVEFOLDER}/ - # source ${FOLDER}/defaults.inc + mv ${PW_LOGFOLDER}/log* ${ARCHIVEFOLDER}/ + # source ${PW_FOLDER}/defaults.inc # STARTALL_SERVICES } @@ -851,14 +851,14 @@ fi elif [ "${3}" = "stop" ]; then if [ "${2}" = "temp" ]; then STOP_SERVICE temp - for SENSOR in ${!SENSOR_ID[@]}; do - logtemp=${LOGFOLDER}/log-temp-${SENSOR} + for SENSOR in ${!PW_SENSOR_ID[@]}; do + logtemp=${PW_LOGFOLDER}/log-temp-${SENSOR} echo "(`date +'%Y-%m-%d %H:%M:%S'`) - ${SENSOR} - Service Stopped" >> ${logtemp} done elif [ "${2}" = "power" ]; then STOP_SERVICE power - echo "(`date +'%Y-%m-%d %H:%M:%S'`) Service Stopped" >> ${logpower} + echo "(`date +'%Y-%m-%d %H:%M:%S'`) Service Stopped" >> ${PW_LOGPOWER} elif [ "${2}" = "powerlogger" ]; then STOP_SERVICE powerlogger @@ -871,7 +871,7 @@ fi SERVICE_MNG ${2} start elif [ "${3}" = "status" ]; then - srvc=${POWERWALL_SERVICES[${2}]} + srvc=${PW_POWERWALL_SERVICES[${2}]} c=0; spc=''; spc1=`expr 25 - ${#srvc}`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done echo -en "${idsCL[LightCyan]}${srvc}${spc}: " [ "$(systemctl is-active ${srvc})" == "active" ] && echo -en "${idsCL[Green]}Running" || echo -en "${idsCL[Yellow]}Not Running"