Files
2024-10-14 00:08:40 +02:00

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