Bash скрипт для перезагрузки Asterisk
Скрипт используется телеграмм ботом для перезагрузки Asterisk на Linux сервере, но также его можно использовать отдельно или запускать по расписанию через Cron.
Создание скрипта
Создаём в нужном нам каталоге .sh файл, я буду это делать с помощью Midnight Commander, в текущем каталоге:
mcedit asterisk_r.sh
Где мы вызываем редактор и указываем файл, если его нет он будет создан.
Далее в открывшемся файле указываем интерпретатор bash в первой строке, в следующей строке пишем наш скрипт. Вызываем консоль Asterisk из командной строки операционной системы и посылаем команду “изящной”[mfn]Перезагружает Asterisk по завершению всех текущих вызовов, блокирует совершение новых звонков.[/mfn] перезагрузки.
#!/bin/bash
asterisk -rx "core restart gracefully"
Выполнение перезагрузки по расписанию
Для этого добавим наш скрипт в Cron, для его автоматического выполнения, по нашему расписанию. Скрипт будет выполняться в 7:00 каждый день:
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
#Asterisk restart gracefully
0 7 * * * /asterisk_r.sh