Update import-disk-image.sh

This commit is contained in:
MacRimi 2025-01-14 15:21:53 +01:00 committed by GitHub
parent f71c01dd36
commit 1110920608
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -10,7 +10,21 @@ 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
# 1. Seleccionar VM
VM_LIST=$(qm list | awk 'NR>1 {print $1, $2}')
if [ -z "$VM_LIST" ]; then
whiptail --title "Error" --msgbox "No hay VMs disponibles en el sistema." 8 40
exit 1
fi
VMID=$(whiptail --title "Seleccionar VM" --menu "Selecciona la VM a la que deseas importar la imagen de disco:" 15 60 8 $VM_LIST 3>&1 1>&2 2>&3)
if [ -z "$VMID" ]; then
whiptail --title "Error" --msgbox "No se seleccionó ninguna VM." 8 40
exit 1
fi
# 2. 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
@ -18,14 +32,6 @@ if [ -z "$IMAGENES" ]; then
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
@ -45,9 +51,17 @@ for IMAGEN in $IMAGENES; do
FULL_PATH="$IMAGES_DIR/$IMAGEN"
# 5. Importar la imagen
whiptail --title "Importando" --infobox "Importando imagen: $IMAGEN como $INTERFAZ..." 8 40
# 5. Añadir la imagen con índice automático
INDEX=0
# Buscar índice disponible
while qm config "$VMID" | grep -q "${INTERFAZ}${INDEX}"; do
((INDEX++))
done
whiptail --title "Importando" --infobox "Importando imagen: $IMAGEN como ${INTERFAZ}${INDEX}..." 8 40
qm importdisk "$VMID" "$FULL_PATH" "local-lvm" --format "$INTERFAZ"
qm set "$VMID" -${INTERFAZ}${INDEX} "$FULL_PATH"
done
whiptail --title "Completado" --msgbox "Todas las imágenes se importaron correctamente." 8 40