Siempre me olvido de configurar esto, para cuando ante cualquier problema con el servidor (tanto de apagado como de encendido) esto se realice de manera automática. El servidor de GDNet corre en una máquina virtual. En este caso, VirtualBox. Este script sirve para poder inicializar dicha VM al inicio (boot) y que a su vez, guarde el estado en el apagado.
#! /bin/sh
# /etc/init.d/virtualbox
#
# Usuario perteneciente al grupo virtualbox
VMUSER=vmuser
# Nombre de la VM
VMNAME="Kubuntu 11.10"
case "$1" in
start)
echo "Iniciando VirtualBox VM..."
sudo -H -b -u $VMUSER /usr/bin/VBoxVRDP -s "$VMNAME"
;;
stop)
echo "Apagando VirtualBox VM..."
sudo -H -u $VMUSER /usr/bin/VBoxManage controlvm "$VMNAME" acpipowerbutton
sleep 15
;;
*)
echo "Uso: /etc/init.d/virtualbox {start|stop}"
exit 1
;;
esac
exit 0
Copiamos el Script en la ruta adecuada:
sudo mv virtualbox /etc/init.d/
Otorgamos permisos de ejecución:
sudo chmod +x /etc/init.d/virtualbox
Hecho esto, debemos agregar el Script a los runlevels tanto de inicio como de apagado:
sudo update-rc.d virtualbox defaults 99 01
De esta manera nos asegura que la máquina virtual sea lo último que se inicie y a su vez lo primero que se apague.
Todo esto corresponde a una sola máquina virtual. Si tenemos varias, simplemente vamos creando tanto Scripts sean necesarios.
Parámetros de sudo:
- H: asigna el Home del usuario utilizado.
- b: ejecuta el comando en el “background” (como un proceso).
Existen varios tipos de apagados de una VM, entre una de ellas savestate: la misma guarda el estado de la máquina en vez de apagarlo. Para más tipos, escriban en consola:
Y lean en la sección controlvm.