init III
This commit is contained in:
64
Linux Control Virtual Machine/CVM_2.sh
Normal file
64
Linux Control Virtual Machine/CVM_2.sh
Normal file
@@ -0,0 +1,64 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user