init III
This commit is contained in:
66
Linux Control Virtual Machine/CVM_1.sh
Normal file
66
Linux Control Virtual Machine/CVM_1.sh
Normal file
@@ -0,0 +1,66 @@
|
||||
#!/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
|
||||
|
||||
"
|
||||
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
|
||||
26
Linux Control Virtual Machine/restart-vm.sh
Normal file
26
Linux Control Virtual Machine/restart-vm.sh
Normal file
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
# alle VMs
|
||||
VMS="debian2 omv3"
|
||||
|
||||
for VM in `echo $VMS`
|
||||
do
|
||||
# status VM
|
||||
STATUS=`echo "select status from devices where hostname='$VM'" | mysql -u observium -pobservium -D observium -h 192.168.100.8 -s`
|
||||
|
||||
# alten status lesen
|
||||
STATUS_ALT=`cat STATUS_$VM`
|
||||
|
||||
# wenn alter status = 0 und aktueller auch 0 -> poweroff VM
|
||||
if [ "$STATUS_ALT" == "0" ]; then
|
||||
if [ "$STATUS" == "0" ]; then
|
||||
echo "power down $VM"
|
||||
/home/andre/CVM.sh stop $VM
|
||||
sleep 10
|
||||
echo "power up $VM"
|
||||
/home/andre/CVM.sh start $VM
|
||||
fi
|
||||
fi
|
||||
# aktueller status nach alten status schreiben
|
||||
echo "$STATUS" > STATUS_$VM
|
||||
done
|
||||
Reference in New Issue
Block a user