使用 Upstart 在启动时自动启动虚拟机 VBoxHeadless - init 和 Graceful exit

Fre*_*ers 2 virtualbox upstart sysvinit

我想在 Ubuntu 14 Linux Headless Server 上启动时自动启动 VirtualBox 虚拟机。

我已@reboot通过 crontab尝试过,但该VboxHeadless命令似乎无法与@reboot. 我认为这是一个时间问题。

因此,我进行了更多研究,并被指导制作了一个 Upstart 脚本。我该怎么办?

Fre*_*ers 5

创建脚本>>使其可执行>>“安装”脚本通过 update-rc.d

cat << 'EOL' >/etc/init.d/StartVM
#!/bin/sh

#Edit these variables!
VMUSER=user
VMNAME=VM1
VMNAME2=Test

case "$1" in
  start)
    echo "Starting VirtualBox VM ..."
    sudo -u $VMUSER VBoxHeadless --startvm $VMNAME &
    sudo -u $VMUSER VBoxHeadless --startvm $VMNAME2 &
    ;;
  stop)
    echo "Saving state of Virtualbox VM ..."
    sudo -u $VMUSER VBoxManage controlvm $VMNAME savestate
    sudo -u $VMUSER VBoxManage controlvm $VMNAME2 acpipowerbutton
    ;;
  *)
    echo "Usage: /etc/init.d/StartVM {start|stop}"
    exit 1
    ;;
esac

exit 0
EOL
sudo chmod +x /etc/init.d/StartVM
sudo update-rc.d StartVM defaults
Run Code Online (Sandbox Code Playgroud)