工作中需要每天通过远程工具(向日葵等)连接远程电脑启动虚拟机操作(远程连接 windows--> 启动 VMware 程序 --> 启动 VMware 中 Linux 虚拟机 --> 启动 tomcat 服务)。因此通过查阅资料将这项工作实现了启动 - 工作 - 关闭的自动化操作。现记录下实现思路,以便后续维护。

自动化功能拆分
Win7系统中实现定时启动、关闭VMware程序

# VMware 定时启动、关闭

# 编写启动脚本

  • 新建批处理文件(startVM.bat),添加以下内容:
ECHO OFF
cd C:\Program Files (x86)\VMware\VMware Workstation // 1、进入到VMware安装目录
start vmware.exe -x D:\shenbaoauto\shenbaoauto.vmx // 2、指定虚拟机文件启动VMware主程序

# 编写关闭脚本

  • 新建批处理文件(shutdownVM.bat),添加以下内容:
echo off
taskkill -f -im vmware.exe // 关闭VMware进程(按进程名)

# 添加计划任务

  • 依次打开:控制面板 - 系统和安全 - 管理工具 - 计划任务
  • 点击:创建基本任务
    创建基本任务

创建基本任务

  • 设置任务名
  • 设置触发器
  • 触发器2
  • 操作1
  • 操作2
  • 完成

# 默认以 root 账户登录虚拟机

  • 使用 root 账户登录系统打开 /etc/gdm/custom.conf,在 [daemon] 下添加以下内容:
AutomaticLoginEnable=True
AutomaticLogin=root
linux虚拟机CentOS系统设置定时启动tomcat服务

# tomcat 服务定时启动、关闭

# 编写 tomcat 启动脚本

  • 新建 sh 脚本(startTomcat.sh),添加以下内容:
source /etc/profile // 设置环境变量(必须)
sh Desktop/apache-tomcat-7.0.81/bin/startup.sh // 启动tomcat服务
  • 添加权限
chmod -R 777 startTomcat.sh

# 编写 tomcat 关闭脚本

  • 新建 sh 脚本(closeTomcat.sh),添加权限及以下内容:
sh Desktop/apache-tomcat-7.0.81/bin/shutdown.sh // 关闭tomcat服务
  • 添加权限
chmod -R 777 closeTomcat.sh
  • 新建 sh 脚本(closeVM.sh),添加权限及以下内容:
shutdown -h 1 minutes later // 1分钟后关闭虚拟机
  • 添加权限
chmod -R 777 closeVM.sh

# 使用 linux 中 crond 服务实现定时执行脚本

  • 查看当前定时任务
crontab -l
  • 修改定时任务
crontab -e
  • 在编辑模式下(按 i 进入)添加以下内容,保存退出:
00 9 * * * sh /root/closeTomcat.sh
00 10 * * * sh /root/closeTomcat.sh
30 10 * * * sh /root/closeVM.sh
  • 重启 crond 服务生效(CentOS6 中命令)
service crond restart

完结