Ищу способ через bash сделать проверку доступности удаленного порта на сервере, и если порт не доступен сделать перезапуск ПО.
Беру скрипт типа:
#!/bin/bash
#copyleft michele dot mase at gmail dot com
HOST=www.google.com
PORT=81
OK=KO
TIMEOUT=3
#which is the pid of telnet
telnetpid () {
ps -ef|grep [t]elnet\ $HOST|awk '{print $2}'
}
#check if there is a hanged telnet session
sleep $TIMEOUT && [ -n «$(telnetpid)» ] && kill
$(telnetpid) && exit 1 &
#check telnet result
if telnet $HOST $PORT < /dev/null 2>&1 | grep -q Connected
then
OK=OK
else
OK=$OK
fi
echo Connection $HOST:$PORT=$OK
exit 0
Проблема в том что он подвивает на неопределенное время.
Где-то не хватает какой-то проверки, подскажите куда рыть?
Ответ на:
комментарий
от edigaryev
Ответ на:
комментарий
от nnz
Ответ на:
комментарий
от gserg
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Альтернативное монтирование флешек (2009)
- Форум Чем с Mikrotik проверить открыт ли порт? (2014)
- Форум ошибка при запуске игрового сервера (2014)
- Форум ssh не пускает юзеров кроме рута (2004)
- Форум ssh не пускает юзеров кроме рута (2004)
- Форум nagios - некорректное отображение статуса (2013)
- Форум АХТУНГ: Пишу из горящего танка , ко мне на linux ПК влез майнер! (2021)
- Форум OpenFire: Server To Server HowTo (2009)
- Форум Не стартует squidguard (2017)
- Форум Не получается настроить port forwarding. Что я делаю не так? (2014)