Доброе время суток
есть скрипт который выполняется раз в 5 мин
cat /opt/iax2.sh
#!/bin/sh
status=$(/usr/sbin/asterisk -rx "iax2 show registry" | grep "NN" | grep -c "Registered")
dat=`date +%H-%M...%d-%m-%Y`
if [ $status = "0" ]; then
curl -d "text=Пропал конект с НН в $dat " http://некий запрос
fi
все хорошо работает нооо
Если канал не подымается в течение часа то сами понимаете что каждые 5 мин мне будет приходить уведомление что пропал канал ((
а это карауул скока сообщений
Вопрос как сделать так, чтоб например как тока 5раз подряд он сказал что пропал конект то на 6 раз не присылал сообщения до тех пор пока канал не восстановится,а как восстановится опять выполнить некий запрос,и сбросить счетчик и все опять по кругу.
Пишите в какой-либо файл информацию о том доступен какой-либо адрес или нет. А затем в скрипте проверяйте доступность адреса и информацию в файле. Если адрес недоступен и в файле так же уже указано, что адрес недоступен, то сообщение отправлять не надо. Если адрес стал доступен, то выведите в файл информацию о том, что адрес стал доступен. Если адрес стал недоступен, а в файле указано, что он доступен, то отправьте сообщение и выведите в файл информацию о том, что адрес недоступен.
Я бы оставил скрипт как есть, простым насколько возможно, а всю логику реализовал там, куда уходит запрос curl.
Держать сервис и его мониториг на одном хосте - это моветон.
Спасибо добрые люди!
Сейчас попробую с демонами поиграться
Забыл сказать «некий запрос» то сервис который смс шлет (
Так что каждые 5 мин получать смс когда каналл лежит ,тож мало приятного.