67 lines
1.3 KiB
Bash
67 lines
1.3 KiB
Bash
#!/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
|
|
|
|
"
|