Всем привет. Стал замечать такую проблему что одна из виртуальных машин в Proxmox иногда зависает, тем не менее там нет функции перезапуска виртуальных машин при их зависании.
Для решения данной проблемы подключается к нашему серверу по SSH под учетной записью root или заходим через Web терминал. Мне нужно будет перезагружать машину с идентификатором 102. Вводим команду
nano vm102.sh
И прописываем туда следующий скрипт.
#!/bin/bash
STR=$(qm status 102)
SUB="stopped"
SUB1="running"
if [[ "$STR" == *"$SUB"* ]];
then
#echo "Not running"
qm start 102
elif [[ "$STR" == *"$SUB1"* ]];
then
echo "Running" >/dev/null
else
echo "Unsure" >/dev/null
qm start 102
fi
После чего нажимаем Ctrl+X, Y
Далее нам нужно сделать файл исполняемым
chmod +x vm102.sh
Далее нам нужно будет создать cronjob, который будет запускать скрипт раз в 5 минут
crontab -e
Если у вас выйдет сообщение с выбором Chose 1–2 [1]: выбираем 1 и вписываем в конец следующее:
*/5 * * * * /root/vm102.sh > /dev/null
После чего нажимаем Ctrl+X, Y
Это будет запускать скрипт /root/vm102.sh
каждые 5 минут, перенаправляя вывод в /dev/null
, чтобы не засорять лог-файлы.
Теперь cron-задача будет проверять состояние виртуальной машины “vm102” каждые 5 минут и в случае зависания выполнять её перезапуск.