Скрипт проверки процесса Asterisk и его перезапуск

Всем привет!!

Так бывает, что иногда на сервере Linux что-то может работать не стабильно. Какой-то процесс или несколько процессов внезапно закрываются. Что бы запустить такой процесс снова я написал скрипт.

Понятно, что надо первым делом разобраться почему процесс вырубается, но ночью это делать не охото и как временное решение мой скрипт подойдет почти всегда.

Что делает мой скрипт. Он проверят запущен ли процесс asterisk и если он не запущен, то запускает его.

Я запускаю скрипт каждую минуту через cron такой командой



* * * * * [ -x /var/lib/asterisk/bin/aster_chek.sh ] && /var/lib/asterisk/bin/aster_chek.sh >> /var/log/asterisk/aster_chek.log 2>&1

Команда проверяет, что пусть указан верно и такой скрипт есть, затем запускает скрипт и записывает его вывод в лог файл. Таким образом, придя утром на работу можно увидеть что делал скрипт ночью пока вы спали )))

Можно заменить в этом скрипте название процесса и его запуск и таким образом подстроить его под нужный вам процесс

Скрипт проверки процесса Asterisk и его перезапуск:

#!/bin/sh
#Скрипт проверки процесса asterisk и его перезапуск
#* * * * * [ -x /var/lib/asterisk/bin/aster_chek.sh ] && /var/lib/asterisk/bin/aster_chek.sh >> /var/log/asterisk/aster_chek.log 2>&1
#Скрипт написал BAF mail: baf@bafista.ru

#Команда для проверки
PS=`ps -ax | grep -v grep | grep  -c "/usr/sbin/asterisk -U asterisk -G asterisk"`

#Погнали
if [ "$PS" = "0" ]
then
	echo "`date "+%F %T"` - Asterisk runinng"

else
	echo "`date "+%F %T"` - Asterisk not runinng"
	/etc/init.d/asterisk start
fi

exit 0

Добавить комментарий

пятнадцать + 6 =