Como estava sem muitas ideias e precisava fazer isso funcionar, segue um 'service' do CentOS/RHEL que faz VMs iniciarem e pararem(salvar status) sem tu precisares do X Window aberto.
IMPORTANTE: O array 'vms' é responsável pelas VMs que queres gerenciar, se tiver mais de 1, adicione-as no array e pronto.
#!/bin/sh
#
# chkconfig: - 99 99
# description: Starts and stops VMs
# #
# pidfile: /var/run/vbox-vms.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 1
vms=( "CC-Linux-testvm" )
start() {
kind="VMs"
numvms=${#vms[*]}
count=0
echo -n $"Starting $kind services:"
while [ $count -lt $numvms ]
do
/usr/bin/VBoxHeadless -startvm ${vms[$i]} >> /var/log/vbox-jobs/${vms[$i]}.log 2>&1 &
RETVAL=$(($RETVAL + $?))
(( count=count+1 ))
done
echo " "
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/vbox-vms || RETVAL=1
return $RETVAL
}
stop() {
echo
kind="VMs"
numvms=${#vms[*]}
count=0
echo -n $"Shutting down $kind services: "
while [ $count -lt $numvms ]
do
/usr/bin/vboxmanage controlvm ${vms[$i]} savestate
RETVAL=$(($RETVAL + $?))
(( count=count+1 ))
done
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/vbox-vms
echo ""
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac
exit $?
Nenhum comentário:
Postar um comentário