Запустить все виртуалки с автостартом

Ответить
ya
^-^
Сообщения: 3202
Зарегистрирован: 16 дек 2021, 19:56

Запустить все виртуалки с автостартом

Сообщение ya »

Запустить все виртуалки с автостартом, на случай, если они не запустились по каким-либо причинам при загрузке сервера виртуалок
start_autostart_vms.sh

Код: Выделить всё

#!/bin/bash

# Получаем список имен всех ВМ, у которых включен флаг autostart
vms=$(virsh list --all --autostart --name)

if [ -z "$vms" ]; then
    echo "Нет виртуальных машин с активным флагом автозапуска."
    exit 0
fi

for vm in $vms; do
    # Проверяем статус, чтобы не пытаться запустить уже рабочую машину
    if [ -z "$vm" ]; then
    :
    else
        state=$(virsh domstate "$vm")

        if [ "$state" == "shut off" ] || [ "$state" == "выключен" ]; then
            echo "Запуск $vm..."
            virsh start "$vm"
        else
#        echo "Машина $vm уже находится в статусе: $state"
        echo "$state $vm"
        fi
    fi
done

exit 0
Ответить