Protocol d’arrencada de totes les MVs des de CLI

Amb les boxes configurades, hem de pensar un sistema per arrencar aquestes màquines virtuals per CLI Per això, he ideat un script de bash que llista les màquines virtuals i et dona l'opció d'iniciar una a escollir amb els números del teclat o totes pressionant el "0".

vim autoinici_vm

Creem i l’editem amb vim, s’anomena autoinici_vm.

#!/bin/bash
# Script: encender_vms.sh
# Descripción: Lista las máquinas virtuales de VirtualBox y permite elegir cuál encender (o todas)

# Comprobar si VBoxManage está instalado
if ! command -v VBoxManage &> /dev/null; then
echo “VBoxManage no está instalado o no está en el PATH.”
exit 1
fi

# Obtener lista de máquinas
mapfile -t VMS < <(VBoxManage list vms | awk -F\” ‘{print $2}’)

if [ ${#VMS[@]} -eq 0 ]; then
echo “No hay máquinas virtuales registradas en VirtualBox.”
exit 0
fi

echo “Máquinas virtuales disponibles:”
for i in “${!VMS[@]}”; do
echo ” $((i+1))) ${VMS[$i]}”
done
echo ” 0) Encender todas”

# Pedir selección
read -p “Selecciona el número de la VM a encender (0 para todas): ” SELEC

# Validar entrada
if ! [[ “$SELEC” =~ ^[0-9]+$ ]]; then
echo “Entrada no válida.”
exit 1
fi

# Encender según selección
if [ “$SELEC” -eq 0 ]; then
echo “Encendiendo todas las máquinas virtuales…”
for vm in “${VMS[@]}”; do
echo ” Encendiendo: $vm”
VBoxManage startvm “$vm” –type headless
done
else
INDEX=$((SELEC-1))
if [ “$INDEX” -ge 0 ] && [ “$INDEX” -lt “${#VMS[@]}” ]; then
VM_NAME=”${VMS[$INDEX]}”
echo “Encendiendo VM: $VM_NAME”
VBoxManage startvm “$VM_NAME” –type headless
else
echo “Número fuera de rango.”
exit 1
fi
fi

echo “Operación completada.”

Script que introduïm a l’arxiu. Sortim i ho guardem amb “:wq” en Vim.

chmod +x autoinici_vm

El fem executable.

./autoinici_vm

Iniciem l’script.

[10:47:25][Scripts][alozano@alozano]-$ ./autoinici_vm


Máquinas virtuales disponibles:
1) smx-gw
2) smx-gw (backup 2)
3) smx-gw (client)
4) Windows Client
5) Windows Server
6) WINDOWS 10
7) UBUNTU MATE
8) prova_ubuntu_default_1762252670943_35987
0) Encender todas
Selecciona el número de la VM a encender (0 para todas): 8
Encendiendo VM: prova_ubuntu_default_1762252670943_35987
Waiting for VM “prova_ubuntu_default_1762252670943_35987” to power on…
VM “prova_ubuntu_default_1762252670943_35987” has been successfully started.
Operación completada.


[11:24:02][Scripts][alozano@alozano]-$ 

Script en funcionament:

Cookie Consent Banner by Real Cookie Banner