Страница 1 из 1

Вопросы по Monit

Добавлено: 2014-02-06 9:27:11
PSdok
Добрый день.

Мне нужно чтобы раз в три минуты пинговался определенный адрес. Если ответа нет то запускалась одна команда, если пинг появлялся , то выполнялась другая команда.
Решил это сделать через monit.
Конфиг для запуска такой

Код: Выделить всё

check host r52 with address 123.no-ip.org
start program  = "/usr/local/etc/rc.d/openvpn_s onestart"
stop program  = "/usr/local/etc/rc.d/openvpn_s onestop"
if failed icmp type echo count 5 with timeout 10 seconds then start
else if succeeded 1 cycles then stop
Если пинга нет , то отрабатывает все правильно.
Если пинг появился, ни чего не происходит.

Re: Вопросы по Monit

Добавлено: 2014-02-06 9:50:24
snorlov
Может сделать простым скриптом с добавлением его в крон, нечто

/root/checkopenvpn.sh

Код: Выделить всё

#!/bin/sh

/sbin/ping -c 5 -s 1000 -i 2 123.no-ip.com > /dev/null
if   [ $? -ne 0 ]
   then 
     /usr/local/etc/rc.d/openvpn_s onestart
   else
    /usr/local/etc/rc.d/openvpn_s onestop
fi
ну и crontab соответсвенно

Код: Выделить всё

*.3    *    *    *    *    root     /root/checkopenvpn.sh
При этом не забыть раздать права на запускаемые файлы, да и кстати /usr/local/etc/rc.d/openvpn_s проверяет запущен ли он..

Re: Вопросы по Monit

Добавлено: 2014-02-06 10:09:08
PSdok
Спасибо. Оперативно. Буду пробовать.

Re: Вопросы по Monit

Добавлено: 2014-02-06 10:15:25
snorlov
В cron'е */3, а не *.3