LINUX.ORG.RU
ФорумAdmin

Centos виснет процесс

 , , , ,


0

1

Виснет игровой сервер, интересует как перезагрузить его, я нашел как посмотреть по порту.

nmap -sU -p 28555 $(hostname -I)

Как мне проверять открытый порт каждую минуту и если закрыт то вызывать

killall screen и service gameserv restart

Ответ на: комментарий от anonymous

Пробовал так, но почему то не работает:

#!/bin/bash
nmap -sU -p 28555 $(hostname -I) | grep open > text.txt
sleep 2
textor="cat text.txt"
if [ -z "$textor" ]; then
    echo "Сервер перестал работать"
  else
    echo "Всё работает!"
  fi
LinuxLove ()

Как прекрасно!

Проверять порт на локалхосте нмапом.. да еще и пихать systemctl в скрипт для рестарта.

Запроси status сервиса, если он dead, тогда отредактируй юнит systemd на автоматический рестарт.

PunkoIvan ★★★★ ()

https://mmonit.com/monit/ И что-то вроде

check host MyHost with address 127.0.0.1
start program = "/bin/systemctl start gameserv"
stop program = "/bin/systemctl stop gameserv"
if failed port 28555 then restart

Moonkin ()
Ответ на: комментарий от anc

Он виснет, но не подает признаков работы, пока не могу понять в чем причина, хочу раз в 2 минуты рестартить если не отвечает!

LinuxLove ()
Ответ на: комментарий от LinuxLove

да это же изи

#!/bin/bash
for (( ; ; ))
do

sudo nmap -sU -p 28555 $(hostname -I) |grep open >/dev/null

if [ $? -eq 0 ]
then
  echo "Success: PORT OPEN"
else
  echo "Failure: port close" >&2
fi

sleep 1s

done
jtad ()
Последнее исправление: jtad (всего исправлений: 2)
Ответ на: комментарий от jtad

Работает хорошо, но не могу как то связать с crontab или куда вписать даже не знаю, что бы оно без меня при запуске начинало проверку и т.д

LinuxLove ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.