img

Автоматическое обновление модулей FreePBX 13

В графическом интерфейсе FreePBX существует коммерческий модуль SysAdmin Pro, стоимость которого составляет $25 (на

icon strelka icons icons

узнай больше на курсе

Базовый курс по Asterisk
Двухнедельный онлайн курс по Asterisk от Мерион Нетворкс. 5 блоков обучения с домашним заданием. Именной сертификат с уникальным номером при успешной сдаче экзамена
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Укажите вашу электронную почту
Неверный адрес электронной почты
Нажимая на кнопку, вы соглашаетесь на обработку персональных данных
Готово!
Отправили доступы на вашу
электронную почту

Как работает скрипт

Важно: Наш скрипт разработан для FreePBX 13, так как использует командную оболочку fwconsole. Чтобы адаптировать скрипт под более ранние версии, вы можете использовать amportal в 11 и 13 строчках.

Создаем служебные для скрипта файлы:

[root@asterisk ~]#touch /home/admin/log_mail.txt
[root@asterisk ~]#touch /home/admin/upgradestatus.txt

Итак, скрипт имеет следующее содержание:

#!/bin/sh
LOGSIZE=`ls -l /home/admin/log_mail.txt |  awk '{ print $5 }'` \формируем размер лог - файла, в который мы будем записывать события в работе нашего скрипта
upgradable=`fwconsole ma -f showupgrades | grep Upgradable` \команда проверяет, есть ли доступные для обновления модули
FILENAME=/home/admin/upgradestatus.txt \созданный нами ранее файл, в который мы будем записывать вывод команды выше, в котором мы проверяем доступные для апгрейда модули
LOGFILE=/home/admin/log_mail.txt \путь к лог - файлу
DATE="`date +%d.%m.%Y" "%H:%M:%S`" \дата, которую мы будем использовать для вывода в лог - файле
echo "$upgradable" > /home/admin/upgradestatus.txt \записываем результат проверки доступных для обновления модулей в файл для хранения
FILESIZE=$(stat -c%s "$FILENAME") \после записи в файл, записываем размер этого файла в переменную
if [ $FILESIZE -ne 1 ]; then \проверяем размер. Если размер отличается от единицы, то выполняем обновление модулей. В ином случае просто записываем в лог – файл информацию, о том, что доступных для апгрейда модулей нет
sleep 5 \ждем 5 секунд
echo `fwconsole ma upgradeall` \ даем команду для обновления всех модулей
sleep 30 \после этого ждем 30 секунд
echo `fwconsole r` \перезагружаем FreePBX
sleep 10 \ждем еще 10 секунд
echo "OK :: $DATE :: all modules were successfully upgraded" >> "$LOGFILE" \записываем в лог – файл информацию о том, что модули были обновлены 
else \случай, если размер файла равен или меньше единицы
echo "OK :: $DATE :: there is no upgradable modules" >> "$LOGFILE" \если у нас нет модулей для обновления, делаем соответствующую пометку в лог - файле
fi
if [ $LOGSIZE -ge 150000 ]; then  \проверяем размер лог – файла. Если он достиг 150 кБ, то мы его опустошаем
   cat /dev/null > /home/admin/log_mail.txt
fi
cat /dev/null > /home/admin/upgradestatus.txt \опустошаем файл, в который мы записываем результат проверки доступных для апгрейда модулей

Готово. Сам скрипт вы можете скачать по ссылке ниже. Не забудьте изменить расширение файла на .sh перед копированием на сервер:

Скачать скрипт

Работа скрипта по расписанию

После того, как вы сохранили скрипт на своем компьютере его необходимо перенести на сервер. Мы рекомендуем воспользоваться SFTP клиентом, например, WinSCP, с помощью которого, можно подключиться по SSH реквизитам к серверу и закинуть файл скрипта в удобную для вас директорию. Предположим, вы закинул файл upgrade.sh в директорию /home:

[root@asteriskpbx]# dos2unix /home/upgrade.sh //преобразуем скрипт для автоматического обновления модулей
[root@asteriskpbx]# chmod 777 /home/upgrade.sh //дадим необходимые права скрипту

Проверим скрипт дебагом. Делается следующей командой:

[root@asterisk home]# bash -x upgrade.sh

Если все корректно и скрипт не имеет ошибок, то вы увидите следующий вывод, в котором будет пошагово проиллюстрирована работа скрипта:

Автоматическое обновление модулей FreePBX 13

Теперь переходим к расписанию для скрипта. Настройку выполнять будем с помощью cron:

[root@asteriskpbx]# crontab -e

В нашем случае, мы хотим чтобы скрипт выполнялся ежедневно в полночь. Для этого, вносим следующие изменения в файл:

0 0 * * * /bin/bash /home/upgrade.sh >/dev/null

Сохраняем изменения, нажав F2, затем Yes и Enter. Готово! Теперь каждый день, в полночь, при доступности обновления, модули вашего FreePBX 13 будут обновлены.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Базовый курс по Asterisk
Двухнедельный онлайн курс по Asterisk от Мерион Нетворкс. 5 блоков обучения с домашним заданием. Именной сертификат с уникальным номером при успешной сдаче экзамена
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Этичный хакинг
Научись работать с Kali Linux, изучи самые распространенные уязвимости, разверни виртуальную лабораторию для пентестинга
Подробнее о курсе
Еще по теме:
img
Мы создали калькулятор инсталляции IP - АТС Asterisk. При планировании сервера и необходимого оборудования заполните соответствующие поля для расчета производительности, шлюзов и плат
img
Скачать руководство администратора Cisco UCM/CME на русском языке
img
Скачать руководство администратора FreePBX на русском языке
img
Рассказываем как рассчитать пропускную способность для IP-вызовов Cisco
img
Рассказываем как настроить отправку СМС сообщений из контакт-центра Октелл через Ростелеком СМС Реклама
Весенние скидки
30%
50%
60%
До конца акции: 30 дней 24 : 59 : 59