Извините за мой английский, я использовал инструмент перевода.
Я запускаю несколько виртуальных машин (Virtualbox 5 и 6) на Debian 8 иМне нужно, чтобы виртуальные машины выключились или сохранили данные до того, как хост будет выключен сигналом отключения ИБП.(Или кнопка выключения питания или команда выключения).
Я создал скрипт, который запускает виртуальные машины как службу.
/etc/systemd/system/vncservice.service
[Unit]
Description=VBox Virtual Machine %i Service
Requires=systemd-modules-load.service
After=systemd-modules-load.service
[Service]
User=usuario
Group=vboxusers
ExecStart=/home/scripts/script.start.sh
ExecStop=/home/scripts/script.stop.sh
RemainAfterExit=true
KillMode=none
[Install]
WantedBy=multi-user.target
Другой, который их запускает
/home/scripts/script.start.sh
#!/bin/bash
echo "Starting VMs...."
export DISPLAY=:1
/usr/bin/vboxmanage startvm VM1 --type gui
/usr/bin/vboxmanage startvm VM2 --type gui
И еще один, который их отключает.
/home/scripts/script.stop.sh
#!/bin/sh -
export DISPLAY=:1
echo "Apagando VMs...."
/usr/bin/VBoxManage controlvm VM1 acpipowerbutton
/usr/bin/VBoxManage controlvm VM2 acpipowerbutton
Скрипт работает при включении питания хоста, но не выключает их вовремя, хост выключается раньше виртуальных машин, я не знаю, как отложить выключение хоста.
Есть ли какие-нибудь предложения или другие способы сделать это?