This commit is contained in:
2024-10-14 00:08:40 +02:00
parent dbfba56f66
commit 1462d52e13
4572 changed files with 2658864 additions and 0 deletions

View 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
"

View 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

View 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