#!/bin/bash # Задаем переменные ALLTRUNKSMINIMUM="`/usr/sbin/asterisk -rx "sip show registry"`" # Смотрим статусы транков ALLTRUNKS=`echo "$ALLTRUNKSMINIMUM" |grep "SIP registrations" |awk '{print $1}'` # Смотрим сколько всего транков в системе REGTRUNKS=`/usr/sbin/asterisk -rx "sip show registry" |grep Registered |wc -l` # Зарегистрированные транки (все транки со статусом Registered) # Задаем условие if [ "$REGTRUNKS" -lt "$ALLTRUNKS" ]; then # Если есть хоть один проблемный транк (В одном или более транке встретился статус отличный от Registered) то sleep 5 # Ждем 5 секунд echo `/usr/sbin/asterisk -rx "sip reload"` # Делаем sip reload sleep 5 # Ждем 5 секунд VAR=`/usr/sbin/asterisk -rx "sip show registry"` # Смотрим статусы транков после проверки # Уведомляем на почту о том какие статусы стали после проверки echo "$VAR" | mail -s "Мониторинг транков" your@mail.ru # Если условие ложно (т.е. с транками все хорошо) else echo “ALL STATUS OK” # Просто выводим что со всеми статусами все хорошо и ничего не делаем больше fi