#! /bin/bash
xmlfiles=( $(find /etc/libvirt/qemu/autostart/ -name '*.xml') )
for f in "${xmlfiles[@]}" ; do
domain=$(xml2 < $f | awk -F= '$1 == "/domain/name" {print $2}')
# only start domain if it's not already running
if ! virsh list | grep -q " ${domain} .*running" ; then
virsh start "$domain"
#else
# optionally reboot domain otherwise
#virsh reboot "$domain"
fi
done
Для этого сценария требуется утилита xml2
(в пакете xml2
в debian и, возможно, также в ubuntu).
Он использует xml2
для извлечения доменных имен из всех файлов XML в каталоге автозапуска qemu libvirt и запускает на них virsh start
, если они еще не запущены.
Сохраните его где-нибудь в вашем PATH, как что-то вроде virsh-autostart.sh
(или что-то еще, что вам кажется понятным) и сделайте его исполняемым с помощью chmod
.