Script 1 to start a virtualbox (vbox_start_vm)
Starts and sleeps x number of seconds, but doesn't start it if it's already running!
#!/bin/bash
if [ -z $1 ] ; then
echo "SERVER Name is Missing... the number is 42."
echo "usage vbox_single_start "
exit 1
fi
if /usr/bin/VBoxManage -q showvminfo $1 | grep -i running ; then
echo VM Guest $1 is already powered on!
exit 1
else
echo Starting $1
/usr/bin/VBoxManage startvm $1 --type vrdp
if [ $2 ] ; then
sleep $2
fi
fi
exit 0
#!/bin/bash
MAX_WAIT_TIME=300 # max seconds to wait before doing poweroff (force)
function wait_until_machine_shutdown_else_terminate {
if /usr/bin/VBoxManage -q list runningvms | grep -i $1 ; then
#echo "sleeping 10 seconds"
sleep 10
let MAX_WAIT_TIME=MAX_WAIT_TIME-10
if [ $MAX_WAIT_TIME -lt 0 ] ; then
echo "Had to force the power on the server... Sorry about that!"
/usr/bin/VBoxManage controlvm $1 poweroff
sleep 10
else
if [ $MAX_WAIT_TIME -lt 200 ] ; then
#try to do another acpipowerbutton
/usr/bin/VBoxManage controlvm $1 acpipowerbutton
fi
wait_until_machine_shutdown_else_terminate $1
fi
fi
}
#ensure that the server name is entered
if [ -z $1 ] ; then
echo "SERVER Name is Missing... the number is 42."
echo "usage vbox_stop_vm "
exit 1
fi
if /usr/bin/VBoxManage -q showvminfo $1 | grep -i running ; then
echo VM Guest $1 is powered on! Will send ACPI shutdown.
/usr/bin/VBoxManage controlvm $1 acpipowerbutton
# if parameter for sleep is provided, do here
if [ $2 ] ; then
sleep $2
fi
# wait until it's been shutdown!
wait_until_machine_shutdown_else_terminate $1
else
echo Server $1 is not running!
exit 1
fi
exit 0
#! /bin/sh
# some errors with networking, so need to restart at end of init sequence
#NOT NEEDED BRIDGE WORKS?!?!?!?!
case "$1" in
start)
echo -n "Starting all the VirtualBox VMS"
/etc/init.d/vbox_start_vm "Windows2008_DC" 60
/etc/init.d/vbox_start_vm "Windows2008_Test" 60
/etc/init.d/vbox_start_vm "Ubuntu_Web_Server" 15
/etc/init.d/vbox_start_vm "Ubuntu_DB_Server" 15
/etc/init.d/vbox_start_vm "Ubuntu_Testing_Server" 15
echo "Done";
;;
stop)
echo -n "Stopping all the VirtualBox VMS"
/etc/init.d/vbox_stop_vm "Windows2008_DC"
/etc/init.d/vbox_stop_vm "Windows2008_Test"
/etc/init.d/vbox_stop_vm "Ubuntu_Web_Server"
/etc/init.d/vbox_stop_vm "Ubuntu_DB_Server"
/etc/init.d/vbox_stop_vm "Ubuntu_Testing_Server"
echo "Done";
;;
*)
echo "Usage: /etc/init.d/vbox_vm_startup {start|stop}"
exit 1
;;
esac
exit 0