Windows中VirtualBox中的虚拟机自启动

本文介绍了如何通过Windows批处理脚本和定时任务,实现每天自动关闭和启动VirtualBox中的CentOS7虚拟机。首先查询虚拟机列表,然后使用VBoxManage命令关闭和启动虚拟机,接着创建bat脚本并设置延迟,最后通过schtasks命令设置定时任务在每天6点执行该脚本,确保虚拟机服务的稳定运行。

背景

  由于网络有问题,导致每天VirtualBox创建的虚拟机centos7设置的静态ip每天都会无法访问(虚拟机centos7本身还在运行,但是无法访问上面的服务),重启虚拟机centos7即可解决,但是每天去重启比较费事费力,解决办法是利用脚本每天重启VirtualBox创建的虚拟机centos7

查询当前用户创建的虚拟机

  定位到VirtualBox的安装路径(windows鼠标右键打开文件所在的位置),在命令行输入代码VBoxManage.exe list vms,如下图所示,可以看到当前用户有两个虚拟机,一个名称叫做centos7,另外一个叫做centos71
软件界面上也能看到
在这里插入图片描述

C:\Oracle\VirtualBox>VBoxManage list vms
"centos71" {28128ebb-8701-4d1a-9976-02f945cdc91d}
"centos7" {e619d25f-32a1-4943-9504-80a45ad9b14c}

关闭虚拟机

  采用以下命令可关闭虚拟机
VBoxManage controlvm centos7 acpipowerbutton # 关闭虚拟机,等价于点击系统关闭按钮,正常关机
VBoxManage controlvm centos7 poweroff # 关闭虚拟机,等价于直接关闭电源,非正常关机

C:\Oracle\VirtualBox>VBoxManage controlvm centos7 poweroff
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%



C:\Oracle\VirtualBox>VBoxManage controlvm centos7 acpipowerbutton

启动虚拟机

  采用以下命令可启动虚拟机
VBoxManage startvm centos7

C:\Oracle\VirtualBox>VBoxManage startvm centos7
Waiting for VM "centos7" to power on...
VM "centos7" has been successfully started.

Bat脚本

  创建restartCentos7.bat脚本文件,里面包含关闭和启动的命令。由于马上关机后,再次重启会造成启动不成功,在启动之前,等待20秒。如下图所示

C:\Oracle\VirtualBox\VBoxManage controlvm centos7 poweroff 
ping -n 20 0.0.0.0 1>nul 2>nul
C:\Oracle\VirtualBox\VBoxManage startvm centos7 

设置windows定时任务

  设置每天早上六点整运行该脚本。采用windows中的SCHTASKS 命令进行创建,如下图所示:
/TN taskname 以路径\名称形式指定,对此计划任务进行唯一标识的字符串。

/TR taskrun 指定在这个计划时间运行的程序的路径和文件名例如: C:\windows\system32\calc.exe

/SC schedule 指定计划频率

/ST starttime 指定运行任务的开始时间。 时间格式为 HH:mm (24 小时时间),例如 14:30 表示2:30 PM。如果未指定 /ST,则默认值为当前时间。/SC ONCE 必需有此选项。

C:\software\Oracle\VirtualBox>schtasks /Create /TN restartCentos7 /TR C:\tools\restartCentos7.bat /SC DAILY  /ST 06:00
成功: 成功创建计划任务 "restartCentos7"

查看创建的定时任务执行频次

  使用命令查询设置的定时任务,即可查询该任务的下次执行时间

C:\Users\yy>schtasks /query /tn restartCentos7

文件夹: \
任务名                                   下次运行时间           模式
======================================== ====================== ===============
restartCentos7                           2015/7/29 6:00:00     就绪
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值