Я мигрирую кучу контейнеров openvz и могу делать только один за раз по причинам. Это отнимает очень много времени, и если я не наблюдаю за целевым узлом постоянно, я не буду знать, завершатся ли миграции или завершатся они.
Итак, я пытаюсь написать небольшой сценарий оболочки, чтобы сделать две вещи . Сначала убедитесь, что идентификатор переносимого контейнера отображается в списке контейнеров. Если это не так, выйдите из сценария и отправьте мне электронное письмо. Во-вторых, пока выполняется первое условие, следите за тем, чтобы статус контейнера изменился на работающий, и как только это станет истинным, отправьте мне электронное письмо.
У меня есть вторая часть этого рабочего процесса, пока я Я не уверен, что это лучший способ go об этом, и мне нужна первая часть, чтобы убедиться, что контейнер существует для работы. Очевидно, что оба этих теста необходимо запускать каждые l oop в случае сбоя миграции. Я просто не могу понять, как это сделать.
Вот что у меня есть:
#!/bin/bash
read -p "Container ID: " -e CID
until vzlist -a | grep $CID | grep running
do
sleep 600
done
echo "Migration of container $CID complete" | mail -s "Migration complete" red@cted.com