Здесь размещено описание одного из функциональных блоков инструкции с примером управления виртуальными машинами "Qemu-KVM" через простейшие BASH-скрипты. Отдельно неприменимо.
Фрагмент кода с функциями формирования строки инициализации средств управления виртуальной машиной:
# vi /etc/kvm/fnc.d/6.management.fnc
#!/bin/bash
# This file contains the code snippet for the shell Bash v.4 (Bourne again shell)
# Файл содержит фрагмент кода для командного интерпретатора Bash v.4 (Bourne again shell)
# Функция инициализации средств управления
function start-management() {
# Зачищаем исходящую строку описания от результатов работы предыдущей итерации
MSTRING=""
# Задаём месторасположение "локального сокета" для управления виртуальной машиной сторонними приложениями
MSOCKET="/tmp/kvm/monitor/${NAME}.socket"
# Задаём месторасположение "локального сокета" для управления виртуальной машиной локальным скриптом
MSOCKETL="/tmp/kvm/monitor/${NAME}.local.socket"
# Задаём месторасположения PID-файла виртуальной машины
MPID="/tmp/kvm/run/${NAME}.pid"
# Создаём место жительства для "локальных сокетов" управления виртуальной машиной
MDIRSOCKET=`dirname "${MSOCKET}"`
rm --force "${MDIRSOCKET}/${NAME}*"
mkdir --parents "${MDIRSOCKET}"
# Создаём место жительства для PID-файла виртуальной машины
MDIRPID=`dirname "${MPID}"`
mkdir -p "${MDIRPID}"
# Формируем строку описания средств управления виртуальной машиной
MSTRING="-monitor unix:${MSOCKET},server,nowait -monitor unix:${MSOCKETL},server,nowait -pidfile ${MPID}"
return 0
}
# This file contains the code snippet for the shell Bash v.4 (Bourne again shell)
# Файл содержит фрагмент кода для командного интерпретатора Bash v.4 (Bourne again shell)
# Функция инициализации средств управления
function start-management() {
# Зачищаем исходящую строку описания от результатов работы предыдущей итерации
MSTRING=""
# Задаём месторасположение "локального сокета" для управления виртуальной машиной сторонними приложениями
MSOCKET="/tmp/kvm/monitor/${NAME}.socket"
# Задаём месторасположение "локального сокета" для управления виртуальной машиной локальным скриптом
MSOCKETL="/tmp/kvm/monitor/${NAME}.local.socket"
# Задаём месторасположения PID-файла виртуальной машины
MPID="/tmp/kvm/run/${NAME}.pid"
# Создаём место жительства для "локальных сокетов" управления виртуальной машиной
MDIRSOCKET=`dirname "${MSOCKET}"`
rm --force "${MDIRSOCKET}/${NAME}*"
mkdir --parents "${MDIRSOCKET}"
# Создаём место жительства для PID-файла виртуальной машины
MDIRPID=`dirname "${MPID}"`
mkdir -p "${MDIRPID}"
# Формируем строку описания средств управления виртуальной машиной
MSTRING="-monitor unix:${MSOCKET},server,nowait -monitor unix:${MSOCKETL},server,nowait -pidfile ${MPID}"
return 0
}