Cómo crear scripts de bash para controlar máquinas virtuales en VirtualBox
Hay una función ingeniosa que viene con VirtualBox que te permite crear un acceso directo en el escritorio para las máquinas virtuales. Sin embargo, esto no te sirve de mucho si estás ejecutando VirtualBox en un servidor sin interfaz gráfica. En ese caso, no siempre quieres tener que emitir el comando para iniciar una máquina virtual cada vez que se necesite. ¿Qué haces entonces? Si estás utilizando Linux para alojar las VM de VirtualBox, es realmente muy sencillo: creas scripts bash para gestionar el inicio, detención y reanudación de esas máquinas virtuales.
Te voy a mostrar cómo hacer precisamente eso. Supondré que ya tienes VirtualBox instalado junto con todas las máquinas virtuales que necesitas. Dicho esto, veamos cómo se hace.
Listando tus máquinas virtuales
Lo primero que necesitas averiguar es el nombre de tus máquinas virtuales. Si esto fuera una GUI, simplemente podrías abrir VirtualBox y verlas listadas. Pero como el servidor no tiene GUI, deberás usar un comando práctico para listar tus máquinas virtuales. Ese comando es:
VBoxManage list vms
La salida del comando (Figura A) te mostrará el nombre y UID de cada una de tus máquinas virtuales. Necesitarás el nombre de tu VM.
Figura A
Cómo funciona el protocolo FTP y cómo resolver problemas relacionados con élCreando el script bash
Supongamos que quiero crear un script para iniciar la VM "UbuntuSERVER Clone". Crea el archivo con el comando nano ubuntuserverclone.start. El contenido de ese archivo será:
#! /bin/bash
VBoxManage startvm "UbuntuSERVER Clone" --type headless
Guarda y cierra ese archivo.
Para cada tarea tendrás que crear un archivo diferente. Podrías crear un archivo ubuntuserverclone.stop con el siguiente contenido:
#! /bin/bash
VBoxManage controlvm "UbuntuSERVER Clone" poweroff --type headless
Para pausar esa misma máquina virtual, crea un archivo llamado ubuntuserverclone.pause con el siguiente contenido:
Microsoft lanza servicio gratuito de almacenamiento en la nube para usuarios de Windows#! /bin/bash
VBoxManage controlvm "UbuntuSERVER Clone" pause --type headless
Para reanudar esa máquina virtual pausada, crea un archivo llamado ubuntuserverclone.resume con el siguiente contenido:
#! /bin/bash
VBoxManage controlvm "UbuntuSERVER Clone" resume --type headless
Asegúrate, después de crear cada archivo, de otorgarles permisos ejecutables con el comando:
chmod u+x ubunserverclone.start
Haz eso para cada archivo que crees, sustituyendo el nombre del archivo cada vez, para que tus nuevos scripts bash ejecuten la acción correspondiente.
Cómo evitar que el archivo de registro de transacciones en SQL Server crezca demasiado grandeEjecutando el script
Tienes dos opciones: Puedes ejecutar esos scripts desde un directorio específico, o puedes copiarlos a un directorio en tu $PATH, para que puedan ejecutarse de forma global. Si optas por no ejecutarlos de forma global, simplemente abre una terminal, cámbiate al directorio que contenga los scripts y emite el comando ./ubuntuserverclone.start.
Si optas por la ruta global, puedes copiar los archivos con el comando sudo cp ubuntuserverclone* /usr/local/bin. A continuación, otórgales los permisos adecuados con el comando sudo chmod o+x /usr/local/bin/ubuntuserverclone.*. Ahora puedes ejecutar cada script desde cualquier directorio simplemente emitiendo el comando ubuntuserverclone.start (o .stop, .pause, .resume).
Fácil control de tus VM headless
Y eso es todo lo que hay que hacer para facilitar el control de tus máquinas virtuales headless de VirtualBox. Crea scripts bash de control para cada una de tus VM, para que puedas iniciar, detener, pausar y reanudarlas sin tener que emitir el comando completo cada vez.
En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Nube, allí encontraras muchos artículos similares a Cómo crear scripts de bash para controlar máquinas virtuales en VirtualBox , tenemos lo ultimo en tecnología 2023.
Artículos Relacionados