This commit is contained in:
2023-05-15 12:05:27 -05:00
parent 51e449d82e
commit ed4beac5a9
2 changed files with 31 additions and 26 deletions

View File

@@ -60,17 +60,17 @@ CHECKTEMPSENSOR(){
#echo "$temp_c -> $temp_f"
if [ $(bc -l <<< "$temp_f >= $temp_warn") -eq 1 ] && [ $(bc -l <<< "$temp_f < $temp_crit") -eq 1 ]; then
echo -en "${idsCL[Yellow]}WARNING ($temp_f°F)${idsCL[Default]}"
echo -en "${idsCL[Yellow]}WARNING ($temp_f'F)${idsCL[Default]}"
elif [ $(bc -l <<< "$temp_f >= $temp_crit") -eq 1 ]; then
echo -en "${idsCL[Red]}CRITICAL ($temp_f°F)${idsCL[Default]}"
echo -en "${idsCL[Red]}CRITICAL ($temp_f'F)${idsCL[Default]}"
else
echo -en "${idsCL[Green]}Normal ($temp_f°F)${idsCL[Default]}"
echo -en "${idsCL[Green]}Normal ($temp_f'F)${idsCL[Default]}"
fi
c=0; spc=''; spc1=`expr 13 - ${#temp_f} - 2`; until [ $c = ${spc1} ]; do spc="${spc} "; c=`expr $c + 1`; done
[ ${#temp_warn} == 2 ] && spcw=' ' || spcw=' '
[ ${#temp_crit} == 2 ] && spcc=' ' || spcc=' '
echo -e "${spc}[${spcw}${idsCL[Green]}<=$(expr ${temp_warn} - 1)°F${idsCL[Default]} /${spcw}${idsCL[Yellow]}${temp_warn}°F${idsCL[Default]} /${spcc}${idsCL[Red]}${temp_crit}°F${idsCL[Default]} ]"
echo -e "${spc}[${spcw}${idsCL[Green]}<=$(expr ${temp_warn} - 1)'F${idsCL[Default]} /${spcw}${idsCL[Yellow]}${temp_warn}'F${idsCL[Default]} /${spcc}${idsCL[Red]}${temp_crit}'F${idsCL[Default]} ]"
fi
}
@@ -114,16 +114,16 @@ CHECKTEMP_SERVICE(){
if [ $(bc -l <<< "$temp_f >= $temp_warn") -eq 1 ] && [ $(bc -l <<< "$temp_f < $temp_crit") -eq 1 ]; then
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
SENDNOTICE "${SENSOR} TEMP WARNING" "($datetime) WARNING TEMP: ${temp_f}'F - (Difference of ${temp_diff}')" 1
echo "($datetime) - ${SENSOR} - ${temp_f}F - alert sent" >> ${logtemp}
last_temp[${SENSOR}]=$temp_f
fi
echo "($datetime) - ${temp_f}F - WARNING TEMP - (Difference of ${temp_diff}°)" >> ${logtemp}
echo "($datetime) - ${temp_f}F - WARNING TEMP - (Difference of ${temp_diff}')" >> ${logtemp}
elif [ $(bc -l <<< "$temp_f >= $temp_crit") -eq 1 ] && [ $(bc -l <<< "$temp_f < $temp_crit_sys") -eq 1 ]; then
echo "($datetime) - ${temp_f} F - CRITICAL - (Difference of ${temp_diff} F)" >> ${logtemp}
echo "($datetime) - ${temp_f}'F - CRITICAL - (Difference of ${temp_diff}'F)" >> ${logtemp}
if [ $temp_diff -gt 1 ] || [ "${last_temp[${SENSOR}]}" = "1" ]; then
SENDNOTICE "${SENSOR} TEMP CRITICAL" "($datetime) CRITICAL TEMP: ${temp_f}°F - (Difference of ${temp_diff}°)
SENDNOTICE "${SENSOR} TEMP CRITICAL" "($datetime) CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}')
Shutting down servers!!" 1
echo "($datetime) - ${SENSOR} - ${temp_f}F - alert sent" >> ${logtemp}
last_temp[${SENSOR}]=$temp_f
@@ -135,7 +135,7 @@ Shutting down servers!!" 1
elif [ $(bc -l <<< "$temp_f >= $temp_crit_sys") -eq 1 ]; then
echo "($datetime) - ${temp_f}F - SYSTEM CRITICAL - (Difference of ${temp_diff})" >> ${logtemp}
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}°)
SENDNOTICE "${SENSOR} TEMP CRITICAL" "($datetime) SYSTEM CRITICAL TEMP: ${temp_f}'F - (Difference of ${temp_diff}')
Shutting down system servers!!" 1
echo "($datetime) - ${SENSOR} - ${temp_f}F - alert sent" >> ${logtemp}
last_temp[${SENSOR}]=$temp_f
@@ -146,13 +146,13 @@ Shutting down system servers!!" 1
fi
else
if [ ${last_temp[${SENSOR}]} -gt 1 ]; then
SENDNOTICE "${SENSOR} BACK TO NORMAL" "($datetime) NORMAL TEMP: ${temp_f}°F
Previous Temp: ${last_temp[${SENSOR}]}°F"
SENDNOTICE "${SENSOR} BACK TO NORMAL" "($datetime) NORMAL TEMP: ${temp_f}'F
Previous Temp: ${last_temp[${SENSOR}]}'F"
echo -e "($datetime) - ${SENSOR} - ${temp_f}'F - Back to NORMAL TEMP - Previous Temp: ${last_temp[${SENSOR}]}'F" >> ${logtemp}
echo "($datetime) - ${SENSOR} - ${temp_f}F - alert sent" >> ${logtemp}
elif [ ${last_temp[${SENSOR}]} -eq 0 ]; then
SENDNOTICE "${SENSOR} TEMP NORMAL" "($datetime) Service Startup
NORMAL TEMP: ${temp_f}°F"
NORMAL TEMP: ${temp_f}'F"
echo -e "($datetime) - ${SENSOR} - ${temp_f}'F - Service Startup - NORMAL TEMP" >> ${logtemp}
fi
last_temp[${SENSOR}]=1
@@ -399,13 +399,13 @@ SHUTDOWN_SERVERS(){
elif [ "${1}" = "SYS" ]; then
for ESXIHOST in "${SYSHOSTS[@]}"; do
echo -en "Shutting Down VM's on: ${ESXIHOST}"
echo -en "Shutting Down VM's on: ${ESXIHOST} ... "
${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
echo "Done"
done
for ESXIHOST in "${SYSHOSTS[@]}"; do
echo -en "Shutting Down Host: ${ESXIHOST}"
echo -en "Shutting Down Host: ${ESXIHOST} ... "
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e true -t 0'
ssh root@${ESXIHOST} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' &
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
@@ -413,27 +413,32 @@ SHUTDOWN_SERVERS(){
done
for ESXIHOST in "${SYSHOSTS[@]}"; do
echo -en "Waiting for Host (${ESXIHOST}) to shutdown... "
echo -en "Waiting for Host (${ESXIHOST}) to shutdown ... "
while ping -qw 10 -c3 "${ESXIHOST}">/dev/null 2>&1; do
sleep 1
done
echo "Ok"
echo "Done"
done
fi
}
SHUTDOWN_SERVER(){
echo "Shutting Down: ${1}"
/usr/bin/ssh root@${1} "cp /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async.sh /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${1}.sh"
/usr/bin/ssh root@${1} "cp /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/esxidown.sh /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/esxidown-${1}.sh"
/usr/bin/ssh root@${1} "sed -i 's/\$SCRIPTPATH\/esxidown.sh/\$SCRIPTPATH\/esxidown-${1}.sh/g' /vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${1}.sh"
/usr/bin/ssh root@${1} "/vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${1}.sh"
echo -en "Waiting for Host (${1}) to shutdown... "
SHUTDOWN_SERVER(){
echo -en "Shutting Down VM's on: ${1} ... "
${FOLDER}/esxi-scripts/vm-shutdown.ps1 ${1} >/dev/null 2>&1
${FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${1} >/dev/null 2>&1
echo "Done"
echo -en "Shutting Down Host: ${1} ... "
ssh root@${1} 'esxcli system maintenanceMode set -e true -t 0'
ssh root@${1} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' &
ssh root@${1} 'esxcli system maintenanceMode set -e false -t 0'
echo "Done"
echo -en "Waiting for Host (${1}) to shutdown ... "
while ping -qw 10 -c3 "${1}">/dev/null 2>&1; do
sleep 1
done
echo "Ok"
echo "Done"
}
ISCSIVMSHUTDOWN(){

2
run.sh
View File

@@ -7,7 +7,7 @@ source /opt/idssys/powerwall/defaults.inc
source /opt/idssys/powerwall/powerwall.conf
if [ "${1}" == "update" ] || [ "${1}" == "" ]; then
if curl -s --head --request GET https://git.schroedercity.com | grep "HTTP/2 200" > /dev/null; then
if curl -m 15 -s --head --request GET https://git.schroedercity.com | grep "HTTP/2 200" > /dev/null; then
if [ "${2}" != "q" ]; then
echo -en "${idsCL[LightCyan]}Checking for updates...${idsCL[Default]}"
echo ""