发表评论
环境:
Linux:Centos7 VMware版本:VMware Workstation 14.1.1 build-7528167 Window版本:WindowsServer2008x64 Window镜像地址:/home/work/WindowsServer2008x64/Windows Server 2008 x64.vmx
Window虚拟机自动启动文件:
/home/work/startVm.sh(此文件自动启动配置到了/etc/rc.local中)
#!/bin/bash #chkconfig: 2345 80 90 #description:start vm and windows vmrun -T ws start "/home/work/WindowsServer2008x64/Windows Server 2008 x64.vmx" nogui
监控虚拟机是否正常运行命令shell脚本:
/home/work/ping.sh
#!/bin/sh #ping虚拟机的IP两次,此IP以虚拟机正式IP为准,如果无法ping通则重启服务器 ping 192.168.1.10 -c 2 if [ $? -eq 0 ];then echo "window is ok!" else echo "stop vm" #关闭虚拟机,不管是否启动,此地址以服务器的自动启动的虚拟机地址为准 vmrun stop '/home/work/WindowsServer2008x64/Windows Server 2008 x64.vmx' sleep 10 echo "kill -9 vmware" #杀掉vmware所有进程,vmware地址可能不一样,建议ps -aux|grep vmware看下,这里注意下如不杀掉进程,直接掉用sh /home/work/startVm.sh,在crontab定时任务启动本shell脚本会提示程序已经执行 ps -ef|grep '/usr/lib/vmware/bin/vmware'|grep -v grep|awk '{print $2}'|xargs kill -9 sleep 10 echo "start vm" sh /home/work/startVm.sh #重新启动虚拟机 fi
配置crontab启动
crontab -e #加入以下命令,表示每天12点10分检查虚拟机是否正常启动 10 12 * * * sh /home/work/ping.sh #wq保存退出 #查看crontab运行日志 tail -f /var/log/cron