mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-06-27 20:06:52 +00:00
55 lines
2.0 KiB
Bash
55 lines
2.0 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Ruta donde están las imágenes de disco
|
||
|
IMAGES_DIR="/var/lib/vz/template/images/"
|
||
|
|
||
|
# Mensaje inicial
|
||
|
if ! [ -d "$IMAGES_DIR" ]; then
|
||
|
mkdir -p "$IMAGES_DIR"
|
||
|
fi
|
||
|
|
||
|
whiptail --title "Importar Imagen de Disco" --msgbox "Por favor, asegúrate de tener las imágenes de disco que quieres importar en la siguiente ubicación:\n\n$IMAGES_DIR\n\nFormatos soportados: .img, .qcow2, .vmdk." 12 60
|
||
|
|
||
|
# 1. Seleccionar las imágenes de disco
|
||
|
IMAGENES=$(whiptail --title "Seleccionar Imágenes de Disco" --checklist "Selecciona las imágenes de disco para importar:" 20 60 10 $(ls "$IMAGES_DIR" | grep -E "\.(img|qcow2|vmdk)$" | awk '{print $1, "OFF"}') 3>&1 1>&2 2>&3)
|
||
|
|
||
|
if [ -z "$IMAGENES" ]; then
|
||
|
whiptail --title "Error" --msgbox "No se seleccionó ninguna imagen." 8 40
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# 2. Seleccionar VM
|
||
|
VMID=$(whiptail --title "Seleccionar VM" --menu "Selecciona la VM a la que deseas importar la imagen de disco:" 15 60 8 $(qm list | awk 'NR>1 {print $1, $2}') 3>&1 1>&2 2>&3)
|
||
|
|
||
|
if [ -z "$VMID" ]; then
|
||
|
whiptail --title "Error" --msgbox "No se seleccionó ninguna VM." 8 40
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
# 3. Importar cada imagen seleccionada
|
||
|
for IMAGEN in $IMAGENES; do
|
||
|
# Quitar comillas de la imagen seleccionada
|
||
|
IMAGEN=$(echo "$IMAGEN" | tr -d '"')
|
||
|
|
||
|
# 4. Seleccionar tipo de disco para cada imagen
|
||
|
INTERFAZ=$(whiptail --title "Tipo de Interfaz" --menu "Selecciona el tipo de disco para la imagen: $IMAGEN" 15 40 4 \
|
||
|
"sata" "Añadir como SATA" \
|
||
|
"scsi" "Añadir como SCSI" \
|
||
|
"virtio" "Añadir como VirtIO" \
|
||
|
"ide" "Añadir como IDE" 3>&1 1>&2 2>&3)
|
||
|
|
||
|
if [ -z "$INTERFAZ" ]; then
|
||
|
whiptail --title "Error" --msgbox "No se seleccionó un tipo de disco para $IMAGEN." 8 40
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
FULL_PATH="$IMAGES_DIR/$IMAGEN"
|
||
|
|
||
|
# 5. Importar la imagen
|
||
|
whiptail --title "Importando" --infobox "Importando imagen: $IMAGEN como $INTERFAZ..." 8 40
|
||
|
qm importdisk "$VMID" "$FULL_PATH" "local-lvm" --format "$INTERFAZ"
|
||
|
done
|
||
|
|
||
|
whiptail --title "Completado" --msgbox "Todas las imágenes se importaron correctamente." 8 40
|
||
|
exit 0
|