全手工打造ESXI6.0 自动关闭虚拟服务器及ESXI主机脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全手工打造ESXI6.0 自动关闭虚拟服务器及ESXI主机脚本相关的知识,希望对你有一定的参考价值。

      由于近期大厦需要维护,因此通知晚上需要断电,因此写了一个针对ESXI主机自动关机的脚本,时间仓促,脚本还有许多可以改进的地方,勿喷。

具体脚本如下:

#/bin/bash
off=`esxcli vm process list|grep World |cut -c 13- |wc -l`
status=`vim-cmd /hostsvc/hostsummary | grep inMaintenanceMode|cut -c 27`
if [ $off == 0 ] ;then
[ $status == "f" ] && vim-cmd hostsvc/maintenance_mode_enter 1&> /dev/null  && halt || halt
else
esxcli vm process list|grep World |cut -c 13- >tmp.txt
on=`esxcli vm process list|grep World |cut -c 13- |wc -l`
for i in `seq 1 $on`
  do
hostid=`sed -n " $i p " ./tmp.txt`
esxcli vm process kill -t soft -w $hostid 1&> /dev/null
sleep 3
done
rm -rf ./tmp.txt
off=`esxcli vm process list|grep World |cut -c 13- |wc -l`
 if [ $off == 0 ] ;then
  vim-cmd hostsvc/maintenance_mode_enter 1&> /dev/null
  halt
 else
  ps |grep vmx|cut -d" "  -f3 |uniq  >tmp.txt   
  on=` ps |grep vmx|cut -d" "  -f3 |uniq |wc -l`
  for i in `seq 1 $on`         
    do                                
    hostid=`sed -n " $i p " ./tmp.txt`  
    kill $hostid 1&> /dev/null
   done            
    rm -rf ./tmp.txt
    vim-cmd hostsvc/maintenance_mode_enter 1&> /dev/null
    halt
 fi
fi

写好脚本后,设置为可执行权限,添加到ESXI的计划任务程序中即可。

ESXI计划任务路径: vi /var/spool/cron/crontabs/root

技术分享

注意:ESXI中除了数据存储目录,其它目录创建的文件,重启后自动丢失,因此最好把脚本放存储目录下:/vmfs/volumes/{安装ESXI时所取的存储器名字}

技术分享


本文出自 “在路上……找回丢失的记忆” 博客,谢绝转载!

以上是关于全手工打造ESXI6.0 自动关闭虚拟服务器及ESXI主机脚本的主要内容,如果未能解决你的问题,请参考以下文章

vSphere虚拟化ESXI6.0+vclient安装部署

ESXI6.0 时间(时区)显示不一致

独门绝技解决 ESXI6.0 时间(时区)显示不一致

ESXI6.0虚拟机磁盘数据文件丢失还能恢复吗

ESXI6.0 ESXI6.0安装时无法安装网卡驱动的解决方法及将网卡驱动加载进ISO

ESXI6.0 ESXI6.0安装时无法安装网卡驱动的解决方法及将网卡驱动加载进ISO