Update powerwall.sh
This commit is contained in:
88
powerwall.sh
88
powerwall.sh
@@ -1087,34 +1087,67 @@ SHUTDOWN_SERVERS(){
|
||||
fi
|
||||
}
|
||||
SHUTDOWN_SERVER(){
|
||||
echo "($datetime) - Shutting down ${1}" >> ${PW_LOGFILE}
|
||||
TEST=true
|
||||
|
||||
echo -en "Enabling Maintenance mode and will wait for iSCSI VM's to begin migrating ... "
|
||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${PW_ESXI_HOST_NAMES[${1}]} & >/dev/null 2>&1
|
||||
sleep 45s
|
||||
echo "Done"
|
||||
if [ "${PW_iDRACHOST_SHORTNAMES[${1}]}" != "" ]; then
|
||||
tmp=${PW_iDRACHOST_SHORTNAMES[${1}]}
|
||||
hostip=${PW_HOST_ADDRESSES[${tmp}]}
|
||||
elif [ "${PW_ESXI_HOST_NAMES[${1}]}" != "" ]; then
|
||||
hostip=${1}
|
||||
elif [ "${PW_HOST_IDRACS[iDS-vMS-Host${1}]}" != "" ]; then
|
||||
hostip=${PW_HOST_ADDRESSES[iDS-vMS-Host${1}]}
|
||||
elif [ "${PW_HOST_IDRACS[${1}]}" != "" ]; then
|
||||
tmp=${PW_HOST_IDRACS[${1}]}
|
||||
hostip=${PW_HOST_ADDRESSES[${tmp}]}
|
||||
else
|
||||
hostip=''
|
||||
fi
|
||||
echo -e "\n${idsCL[Yellow]}ESXi Host Powerdown"
|
||||
DIVIDER . yellow 75
|
||||
|
||||
echo -en "Shutting Down VM's on: ${1} ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
${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"
|
||||
|
||||
if [ "${hostip}" != "" ]; then
|
||||
host=${PW_ESXI_HOST_NAMES[${hostip}]}
|
||||
c=0; spcA=''; spc1=`expr 21 - ${#host} - 1`; until [ $c = ${spc1} ]; do spcA="${spcA} "; c=`expr $c + 1`; done
|
||||
c=0; spcB=''; spc1=`expr 18 - ${#PW_HOST_ADDRESSES[${hostip}]} - 1`; until [ $c = ${spc1} ]; do spcB="${spcB} "; c=`expr $c + 1`; done
|
||||
echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${host}${spcA}"
|
||||
echo -en "${idsCL[LightCyan]}Host IP: ${idsCL[Green]}${hostip}${spcB}"
|
||||
echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${PW_HOST_IDRACS[${host}]}${idsCL[Default]}"
|
||||
DIVIDER . yellow 75
|
||||
echo
|
||||
|
||||
echo "($datetime) - Shutting down ${host} (${hostip})" >> ${PW_LOGFILE}
|
||||
echo -en "${idsCL[LightCyan]}Enabling Maintenance mode and will wait for iSCSI VM's to begin migrating ... "
|
||||
[ "${TEST}" != "true" ] && ${PW_FOLDER}/esxi-scripts/host-maintenance_mode.ps1 ${PW_ESXI_HOST_NAMES[${hostip}]} & >/dev/null 2>&1
|
||||
sleep 45s
|
||||
echo -e "${idsCL[Green]}Done\n"
|
||||
|
||||
echo -en "${idsCL[LightCyan]}Shutting Down VM's on: ${host} (${hostip}) ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
${PW_FOLDER}/esxi-scripts/vm-shutdown.ps1 ${hostip} >/dev/null 2>&1
|
||||
${PW_FOLDER}/esxi-scripts/iscsi-server-shutdown.ps1 ${hostip} >/dev/null 2>&1
|
||||
fi
|
||||
echo -e "${idsCL[Green]}Done\n"
|
||||
|
||||
echo -en "Shutting Down Host: ${1} ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
ssh root@${1} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' & >/dev/null 2>&1
|
||||
ssh root@${1} 'esxcli system maintenanceMode set -e false -t 0' >/dev/null 2>&1
|
||||
fi
|
||||
echo "Done"
|
||||
echo -en "${idsCL[LightCyan]}Shutting Down Host: ${host} (${hostip}) ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
ssh root@${hostip} 'esxcli system shutdown poweroff -d 10 -r "Automated ESXi host shutdown"' & >/dev/null 2>&1
|
||||
ssh root@${hostip} 'esxcli system maintenanceMode set -e false -t 0' >/dev/null 2>&1
|
||||
fi
|
||||
echo -e "${idsCL[Green]}Done\n"
|
||||
|
||||
echo -en "Waiting for Host (${1}) to shutdown ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
while ping -qw 10 -c3 "${1}">/dev/null 2>&1; do
|
||||
sleep 1
|
||||
done
|
||||
echo -en "${idsCL[LightCyan]}Waiting for Host ${host} (${hostip}) to shutdown ... "
|
||||
if [ "${TEST}" != "true" ]; then
|
||||
while ping -qw 10 -c3 "${hostip}">/dev/null 2>&1; do
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
echo -e "${idsCL[Green]}Done\n"
|
||||
|
||||
else
|
||||
echo -e "${idsCL[LightRed]}Host cannot be found for '${1}'${idsCL[Default]}"
|
||||
fi
|
||||
echo "Done"
|
||||
echo
|
||||
}
|
||||
|
||||
ISCSIVMSHUTDOWN(){
|
||||
@@ -1361,14 +1394,15 @@ fi
|
||||
echo -e " ${idsCL[LightYellow]} avg = { noavg='Does not display average' / "
|
||||
echo -e " #='Num of days for avg' }${idsCL[Default]} --> Defaults to 3 days avg"
|
||||
echo
|
||||
echo -e " ${idsCL[Yellow]}shutdownhost {host-ip} ${idsCL[Default]}--> Shutdown host server"
|
||||
echo -e " ${idsCL[Yellow]}shutdownhost {host} ${idsCL[Default]}--> Shutdown ESXI host and its VMs"
|
||||
echo -e " ${idsCL[LightYellow]} host = {esxi-ip}, {idrac-ip}, {hostname} or {host-number;0-9}"
|
||||
echo -e " ${idsCL[Yellow]}iscsi-vm-shutdown {type} ${idsCL[Default]}--> Shutdown VM's running on iSCSI-(PRI or SYS) Datastore(s)"
|
||||
echo -e " ${idsCL[LightYellow]} type = { main='iSCSI-PRI' / "
|
||||
echo -e " sys='iSCSI-SYS' }${idsCL[Default]} --> Defaults to main (iSCSI-PRI)"
|
||||
echo -e " ${idsCL[LightYellow]} type = { sys='iSCSI-SYS' / "
|
||||
echo -e " main='iSCSI-MAIN' }${idsCL[Default]} --> Defaults to main (iSCSI-PRI)"
|
||||
echo -e " ${idsCL[Yellow]}shutdown_servers {type} ${idsCL[Default]}--> Shutdown selection of servers"
|
||||
echo -e " ${idsCL[LightYellow]} type = { main / sys / all }"
|
||||
echo -e " ${idsCL[Yellow]}hostpower {host} ${idsCL[Default]}--> Control host chassis power"
|
||||
echo -e " ${idsCL[LightYellow]} host = {idrac-ip}, {esxi-ip}, {hostname} or {host-number;0-9}"
|
||||
echo -e " ${idsCL[LightYellow]} host = {esxi-ip}, {idrac-ip}, {hostname} or {host-number;0-9}"
|
||||
echo
|
||||
# echo
|
||||
# echo -e " ${idsCL[Yellow]}services {cmd} ${idsCL[Default]}--> Manage all monitor services at once"
|
||||
|
||||
Reference in New Issue
Block a user