Категория:FreePBX — различия между версиями
Материал из m6a
Vshpagin (обсуждение | вклад) (Новая страница: «==Использование== rpm -qa | grep mysql-connector-odbc rpm -e --nodeps "mysql-connector-odbc-5.2.5-7.el7.x86_64" yum install mariadb-connector-o…») |
Vshpagin (обсуждение | вклад) (→Контроль транков) |
||
| (не показаны 2 промежуточные версии этого же участника) | |||
| Строка 4: | Строка 4: | ||
yum install mariadb-connector-odbc | yum install mariadb-connector-odbc | ||
fwconsole restart | fwconsole restart | ||
| + | ==Контроль транков== | ||
| + | Создаём скрипт | ||
| + | vi /usr/local/bin/check_and_restart_trunk.sh | ||
| + | Вносим следующее содержание | ||
| + | #!/bin/bash | ||
| + | # Получаем список транков со статусами Unregistered, Rejected | ||
| + | TRUNKS=$(asterisk -rx "pjsip show registrations" | awk '/^\s*([^\s]+).*Unregistered|Rejected/ {print $1}' | awk -F'/' '{print $1}') | ||
| + | # Проверяем, пустой ли список транков | ||
| + | if [ -z "$TRUNKS" ]; then | ||
| + | echo "$(date): Trunk normal." >> /var/log/trunk_restart.log | ||
| + | exit 0 | ||
| + | fi | ||
| + | # Перезапускаем каждый транк из списка | ||
| + | for TRUNK in $TRUNKS; do | ||
| + | echo "$(date): Trunk $TRUNK restarted." >> /var/log/trunk_restart.log | ||
| + | asterisk -rx "pjsip send unregister $TRUNK" | ||
| + | # Задержка в 5 секунд | ||
| + | sleep 5 | ||
| + | asterisk -rx "pjsip send register $TRUNK" | ||
| + | done | ||
| + | Сохраняем и делаем исполняемым | ||
| + | chmod +x /usr/local/bin/check_and_restart_trunk.sh | ||
| + | Вносим в расписание | ||
| + | crontab -e | ||
| + | */5 * * * * /usr/local/bin/check_and_restart_trunk.sh | ||
Текущая версия на 19:19, 6 сентября 2024
Использование
rpm -qa | grep mysql-connector-odbc rpm -e --nodeps "mysql-connector-odbc-5.2.5-7.el7.x86_64" yum install mariadb-connector-odbc fwconsole restart
Контроль транков
Создаём скрипт
vi /usr/local/bin/check_and_restart_trunk.sh
Вносим следующее содержание
#!/bin/bash
# Получаем список транков со статусами Unregistered, Rejected
TRUNKS=$(asterisk -rx "pjsip show registrations" | awk '/^\s*([^\s]+).*Unregistered|Rejected/ {print $1}' | awk -F'/' '{print $1}')
# Проверяем, пустой ли список транков
if [ -z "$TRUNKS" ]; then
echo "$(date): Trunk normal." >> /var/log/trunk_restart.log
exit 0
fi
# Перезапускаем каждый транк из списка
for TRUNK in $TRUNKS; do
echo "$(date): Trunk $TRUNK restarted." >> /var/log/trunk_restart.log
asterisk -rx "pjsip send unregister $TRUNK"
# Задержка в 5 секунд
sleep 5
asterisk -rx "pjsip send register $TRUNK"
done
Сохраняем и делаем исполняемым
chmod +x /usr/local/bin/check_and_restart_trunk.sh
Вносим в расписание
crontab -e */5 * * * * /usr/local/bin/check_and_restart_trunk.sh
Эта категория в данный момент пуста.