zoukankan      html  css  js  c++  java
  • Virtualbox开机启动,service命令管理

    #!/bin/bash
    #chkconfig:235 80 20
    #description:start or stop vbox
    #Author:AiYS~20180502
    #OS:RedHatEnterprise6.4,上传vbox至/etc/init.d/并赋权755,chkconfig --add vbox添加后可开机启动并用service命令管理


    . /etc/rc.d/init.d/functions
    . /etc/sysconfig/network

    VBoxManage list vms &>/dev/null
    [ $? -eq 0 ] && VBuuid=($(VBoxManage list vms | awk '{print $2}' | tr -d {})) || VBuuid=()
    function start {
    if [ ${#VBuuid[*]} -gt 0 ];then
      for vbstart in ${VBuuid[*]}
      do
        VBname=$(VBoxManage showvminfo ${vbstart} --machinereadable | egrep "name" | awk -F'"' '{print $2}')
        [ $(VBoxManage showvminfo ${vbstart} --machinereadable | egrep "VMState" | awk -F'"' '{print $2}')=running ] && echo -e "${VBname}正在运行!" || VBoxManage startvm ${vbstart} --type headless &>/dev/null
      done
    else
      echo -e "本机未安装VirtualBox!"
    fi
    }

    function stop {
    VBoxManage list runningvms &>/dev/null
    [ $? -eq 0 ] && VBrunning=($(VBoxManage list runningvms | awk '{print $2}' | tr -d {})) || VBrunning=()
    if [ ${#VBrunning[*]} -gt 0 ];then
      for vbstop in ${VBrunning[*]}
      do
        VBoxManage controlvm ${vbstop} acpipowerbutton && echo -e "关闭$(VBoxManage showvminfo ${vbstop} --machinereadable | egrep "name" | awk -F'"' '{print $2}')"
      done
    else
      echo "本机没有运行的VirtualBox!"
    fi
    }

    function status {
    if [ ${#VBuuid[*]} -gt 0 ];then
      for vbstate in ${VBuuid[*]}
      do
        name=$(VBoxManage showvminfo ${vbstate} --machinereadable | egrep "name" | awk -F'"' '{print $2}')
        state=$(VBoxManage showvminfo ${vbstate} --machinereadable | egrep "VMState" | awk -F'"' '{print $2}')
        echo -e "${name} ${state}"
      done
    else
      echo -e "本机未安装VirtualBox!"
    fi
    }

    case "$1" in
      start)
        start;;
      stop)
        stop;;
      status)
        status;;
      *)
        echo -e "Format error! eg:service $0 {start|stop|status}"
        exit 1;;
    esac

    ******开机启动虚拟机******

    在/etc/rc.local中增加:

    sh /etc/init.d/vbox start

  • 相关阅读:
    css单位及颜色值
    web表单作业
    打卡第一天
    IIS的应用池-网站
    Sublime 提示 The package specified, DocBlockr, is not available
    Git/GitHub 初用体验与总结
    自定义置顶TOP按钮
    Firebug 学习使用教程
    ASP.NET导出文件FileResult的使用
    DataGrid获取当前行某列值
  • 原文地址:https://www.cnblogs.com/AiYS/p/8982264.html
Copyright © 2011-2022 走看看