65 lines
1.1 KiB
Bash
65 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# CVM action hostname
|
|
# action: start reset stop show snapshot
|
|
|
|
ACTION=$1
|
|
HOSTNAME=$2
|
|
|
|
case $ACTION in
|
|
stop|halt)
|
|
if [ "$HOSTNAME" == "" ]; then
|
|
echo "VM Name missing"
|
|
exit
|
|
fi
|
|
vboxmanage controlvm $HOSTNAME poweroff
|
|
;;
|
|
reset)
|
|
if [ "$HOSTNAME" == "" ]; then
|
|
echo "VM Name missing"
|
|
exit
|
|
fi
|
|
vboxmanage controlvm $HOSTNAME reset
|
|
;;
|
|
start)
|
|
if [ "$HOSTNAME" == "" ]; then
|
|
echo "VM Name missing"
|
|
exit
|
|
fi
|
|
vboxmanage startvm $HOSTNAME --type headless
|
|
;;
|
|
snapshot)
|
|
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
|
|
;;
|
|
show|list)
|
|
echo "+ running / - stopped"
|
|
for I in `vboxmanage list vms | egrep -o '".*"' | egrep -o '[^"]*' | sort`
|
|
do
|
|
vboxmanage list runningvms | grep $I > /dev/null
|
|
if [ "$?" == "0" ]; then
|
|
echo " + $I"
|
|
else
|
|
echo " - $I"
|
|
fi
|
|
done
|
|
;;
|
|
*)
|
|
echo "
|
|
CVM start hostname
|
|
reset hostname
|
|
stop|halt hostname
|
|
show|list
|
|
snapshot hostname
|
|
|
|
"
|
|
;;
|
|
esac
|