Update powerwall.sh
This commit is contained in:
175
powerwall.sh
175
powerwall.sh
@@ -154,13 +154,11 @@ Shutting down system servers!!" 1
|
|||||||
Previous Temp: ${last_temp[${SENSOR}]}'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 -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}
|
echo "($datetime) - ${SENSOR} - ${temp_f}F - alert sent" >> ${logtemp}
|
||||||
[ "$(compgen -G "${FOLDER}/shutdown.*")" != "" ] && rm -f ${FOLDER}/shutdown.*
|
|
||||||
echo -e "($datetime) - ${SENSOR} - Back to NORMAL TEMP: ${temp_f}'F" >> ${logfile}
|
echo -e "($datetime) - ${SENSOR} - Back to NORMAL TEMP: ${temp_f}'F" >> ${logfile}
|
||||||
elif [ ${last_temp[${SENSOR}]} -eq 0 ]; then
|
elif [ ${last_temp[${SENSOR}]} -eq 0 ]; then
|
||||||
SENDNOTICE "${SENSOR} TEMP NORMAL" "($datetime) Service Startup
|
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}
|
echo -e "($datetime) - ${SENSOR} - ${temp_f}'F - Service Startup - NORMAL TEMP" >> ${logtemp}
|
||||||
[ "$(compgen -G "${FOLDER}/shutdown.*")" != "" ] && rm -f ${FOLDER}/shutdown.*
|
|
||||||
echo -e "($datetime) - ${SENSOR} - Service Startup: ${temp_f}'F" >> ${logfile}
|
echo -e "($datetime) - ${SENSOR} - Service Startup: ${temp_f}'F" >> ${logfile}
|
||||||
|
|
||||||
fi
|
fi
|
||||||
@@ -369,98 +367,99 @@ SHUTDOWN_SERVERS(){
|
|||||||
# /usr/bin/ssh root@${ESXIHOST} "/vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${ESXIHOST}.sh"
|
# /usr/bin/ssh root@${ESXIHOST} "/vmfs/volumes/iSCSI2-Datastore2\ \(R5\)\(1-4\)/\!SCRIPTS/esxidown/async-${ESXIHOST}.sh"
|
||||||
# done
|
# done
|
||||||
|
|
||||||
|
echo "($datetime) - Shutting down ${1} servers" >> ${logfile}
|
||||||
|
[ $TEST = true ] && echo "RUNNING IN TEST MODE" >> ${logfile}
|
||||||
|
|
||||||
if [ "${1}" = "MAIN" ]; then
|
if [ "${1}" = "MAIN" ]; then
|
||||||
touch $FOLDER/shutdown.main
|
if [ ! -f $FOLDER/shutdown.main ]; then
|
||||||
echo "($datetime) - Shutting down Main servers" >> ${logfile}
|
touch $FOLDER/shutdown.main
|
||||||
echo -en "Disabling CLS in vCenter ... "
|
echo -en "Disabling CLS in vCenter ... "
|
||||||
if [ $TEST != true ]; then
|
if [ $TEST != true ]; then
|
||||||
ssh root@${VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<enabled>False<\/enabled>/}' /etc/vmware-vpx/vpxd.cfg >/dev/null 2>&1" >/dev/null 2>&1
|
ssh root@${VCENTERHOST} "sed -i '/<domain-c1001>/{n;s/<enabled>.*<\/enabled>/<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 --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@${VCENTERHOST} "service-control --start vmware-vpxd >/dev/null 2>&1" >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
|
||||||
|
for ESXIHOST in "${ESXIHOSTS[@]}"; do
|
||||||
|
echo -en "Stopping iSCSI VM's on: ${ESXIHOST} ... "
|
||||||
|
[ $TEST != true ] && ${FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
for ESXIHOST in "${ESXIHOSTS[@]}"; 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
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
# sleep 1m
|
||||||
|
for ESXIHOST in "${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
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
sleep 1m
|
||||||
|
for ESXIHOST in "${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"'
|
||||||
|
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
|
||||||
|
for ESXIHOST in "${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
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
echo "Done"
|
|
||||||
|
|
||||||
for ESXIHOST in "${ESXIHOSTS[@]}"; do
|
|
||||||
echo -en "Stopping iSCSI VM's on: ${ESXIHOST} ... "
|
|
||||||
[ $TEST != true ] && ${FOLDER}/esxi-scripts/iscsi-vm-shutdown.ps1 ${ESXIHOST} >/dev/null 2>&1
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
for ESXIHOST in "${ESXIHOSTS[@]}"; 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
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
# sleep 1m
|
|
||||||
for ESXIHOST in "${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
|
|
||||||
fi
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
sleep 1m
|
|
||||||
for ESXIHOST in "${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"'
|
|
||||||
ssh root@${ESXIHOST} 'esxcli system maintenanceMode set -e false -t 0'
|
|
||||||
fi
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
|
|
||||||
for ESXIHOST in "${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
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
|
|
||||||
elif [ "${1}" = "SYS" ]; then
|
elif [ "${1}" = "SYS" ]; then
|
||||||
if ([ ! -f $FOLDER/shutdown.main ] && [ "${2}" == "TEMP" ]) || [ $TEST = true ]; then
|
[ ! -f $FOLDER/shutdown.main ] && [ "${2}" == "TEMP" ] && SHUTDOWN_SERVERS MAIN
|
||||||
SHUTDOWN_SERVERS MAIN
|
if [ ! -f $FOLDER/shutdown.sys ]; then
|
||||||
|
touch $FOLDER/shutdown.sys
|
||||||
|
|
||||||
|
for ESXIHOST in "${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
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
for ESXIHOST in "${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
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
for ESXIHOST in "${SYSHOSTS[@]}"; do
|
||||||
|
echo -en "Shutting Down Host: ${ESXIHOST} ... "
|
||||||
|
if [ $TEST != true ]; then
|
||||||
|
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'
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
|
|
||||||
|
for ESXIHOST in "${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
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
echo "Done"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
[ $TEST != true ] && touch $FOLDER/shutdown.sys
|
|
||||||
echo "($datetime) - Shutting down System servers" >> ${logfile}
|
|
||||||
|
|
||||||
for ESXIHOST in "${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
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
for ESXIHOST in "${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
|
|
||||||
fi
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
for ESXIHOST in "${SYSHOSTS[@]}"; do
|
|
||||||
echo -en "Shutting Down Host: ${ESXIHOST} ... "
|
|
||||||
if [ $TEST != true ]; then
|
|
||||||
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'
|
|
||||||
fi
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
|
|
||||||
for ESXIHOST in "${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
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
echo "Done"
|
|
||||||
done
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
SHUTDOWN_SERVER(){
|
SHUTDOWN_SERVER(){
|
||||||
|
|||||||
Reference in New Issue
Block a user