Я добавил несколько гипервизоров с Ubuntu 18.04 и добавил сценарии, который работает над 16,04 и 14.04.
Среди них некоторые сценарии, которые установлены в пользователе crontab.
Вот часть сценария.
virsh list | grep $1
if [ $? -ne 0 ]; then
log "Start VM: $1"
virsh start $1
else
log "VM already running: $1"
fi
Шоу журнала, что список virsh подходит пустой, когда выполнено от пользователя crontab. Это работает из командной строки, и из корня crontab.
Кто-либо знает, как заставить его работать от пользователя crontab в Ubuntu 18.04?
Лучше протестировать grep непосредственно.
d=${1:?Missing name argument}
if ! virsh -c qemu:///system list | \
grep -Eq "\ +${d}\ +running$"
then
log "Start VM: $1"
virsh start "$1"
else
log "VM already running: $1"
fi