我们有一台虚拟机在Windows Server 2003上的VMWare Server主机上运行。
本机使用非永久磁盘进行设置。
我们设置了一个Windows任务计划,它运行一个batch file,每周重置机器,使其恢复到原始状态。
我们运行的batch file是:
"C:\Program Files\VMware\VMware Server\vmware-cmd" "C:\Virtual Machines\VirtualMachineName\VirtualMachineName.vmx" stop hard "C:\Program Files\VMware\VMware Server\vmware-cmd" "C:\Virtual Machines\VirtualMachineName\VirtualMachineName1.vmx" start
此后,我们将此机器迁移到免费版本的ESXi 4.1。
任何人都可以让我知道如何以及如何安排这样的重新启动?
您可以使用vmware-cmd启动,重新引导,停止和挂起虚拟机:
vmware-cmd -H <vc_system> -U <user> -P <password> --vihost <esx_host> /vmfs/volumes/Storage2/testvm/testvm.vmx stop soft vmware-cmd -H <vc_system> -U <user> -P <password> --vihost <esx_host> /vmfs/volumes/Storage2/testvm/testvm.vmx start soft
如果您尚未完成,则需要在ESXi主机上启用ssh访问权限 。
一旦你完成了,你可以把vmware-cmd命令放到一个脚本中,然后从cron运行它们
#!/bin/bash /usr/bin/vmware-cmd "Centos 5" stop hard sleep 30 /usr/bin/vmware-cmd "Centos 5" start
将停止,然后在当前主机上启动机器“Centos 5”。
把这个放在根crontab中
30 1 * * 0 /path/to/restart-script
你应该很好走。
编辑:
由于chopper3注意到crontab在重启时不是持久的,所以你需要编辑/ etc / local文件并添加命令来重新创buildroot crontab
/bin/kill $(cat /var/run/crond.pid) /bin/echo "30 1 * * 0 /path/to/restart-script" >>/var/spool/cron/crontabs/root /bin/busybox crond
你可能也可能安排在虚拟机本身重新启动? 无论是Linux还是Windows VM,您都可以在guest虚拟机中使用cron或Task Scheduler来执行定时重新启动。