Остановите виртуальную виртуальную машину при выключении / перезагрузке хоста - PullRequest
0 голосов
/ 11 октября 2019

Я хочу убить мои работающие домены при выключении хоста и перезагрузке (иногда они этого не делают). Поэтому я написал этот скрипт:

#!/bin/bash
times=0
include_vms=$(virsh list --name)
for vm in ${include_vms[@]}; do
  state=$(virsh list --name | grep "$vm")
  while ([ "$state" != "" ]); do
    virsh shutdown $vm
    sleep 5
    if [[ "$times" == '10' ]]; then
      times=0
      virsh destroy $vm
      sleep 5
    fi
    state=$(virsh list --name | grep "$vm")
    ((times++))
  done
done

Чтобы избежать попыток и ошибок, я хотел бы попросить:

  1. посмотрите, что код правильный (без бесконечных циклов и т. Д.)
  2. должно быть достаточно поместить скрипт в /etc/init.d/ (я на Ubuntu 16.04), сделать исполняемый файл myscript.sh и установить программные ссылки?
sudo chmod a+x /etc/init.d/myscript.sh
sudo ln -s /etc/init.d/myscript.sh /etc/rc0.d/k99stop_vm
sudo ln -s /etc/init.d/myscript.sh /etc/rc6.d/k99stop_vm

Есть ли проблемы?

...