#!/bin/bash # CVM action hostname # action: start reset stop show snapshot ACTION=$1 HOSTNAME=$2 if [ "$ACTION" == "stop" ]; then if [ "$HOSTNAME" == "" ]; then echo "VM Name missing" exit fi vboxmanage controlvm $HOSTNAME poweroff exit fi if [ "$ACTION" == "reset" ]; then if [ "$HOSTNAME" == "" ]; then echo "VM Name missing" exit fi vboxmanage controlvm $HOSTNAME reset exit fi if [ "$ACTION" == "start" ]; then if [ "$HOSTNAME" == "" ]; then echo "VM Name missing" exit fi vboxmanage startvm $HOSTNAME --type headless exit fi if [ "$ACTION" == "snapshot" ]; then if [ "$HOSTNAME" == "" ]; then echo "VM Name missing"; exit fi NAME=`date +"%Y-%m-%d_%H-%M_"` NAME=`echo "$NAME$HOSTNAME"` echo $NAME #vboxmanage snapshot $HOSTNAME take $NAME #vboxmanage snapshot $HOSTNAME list exit fi if [ "$ACTION" == "show" ]; then echo "+ running / - stopped" for I in `vboxmanage list vms | egrep -o '".*"' | egrep -o '[^"]*'` do vboxmanage list runningvms | grep $I > /dev/null if [ "$?" == "0" ]; then echo " + $I" else echo " - $I" fi done exit fi echo " CVM start|reset|stop|show|snapshot hostname "