Показаны сообщения с ярлыком bash. Показать все сообщения
Показаны сообщения с ярлыком bash. Показать все сообщения

Собираем linux systemd сервис из программы на Python


Будем делать systemd сервис из приложения на Питоне. Часто это необходимо, если вам нужно, чтобы при старте операционной системы (и сети) запускался ваш код на Python. 

Начнем с bash скрипта, который будет отвечать за старт и рестарт приложения.

Asterisk: отправить сообщение при ожидании клиента в очереди более 3 минут

Потребовалось реализовать следующее: если клиент ожидает в очереди ответа более 3 минут - необходимо отправить сообщение в Telegram с именем (CallerID) и номером телефона клиента. Здесь мы рассмотрим как реализовать это самым простым способом, напрямую из диалплана.

Итак, клиент заходит в очередь, ему проигрывается сообщение автоинформатора и начинает играть фоновая музыка пока оператор не ответит на его звонок. Если клиенту не отвечают в течение 21 минуты, мы выходим из очереди и выполняем с ним дальнейшие действия (например, кладем трубку).

Bash cкрипт парсинга событий в логах в реальном времени

Пишем простой скрипт, который будет парсить лог программы в реальном времени и при нахождении нужной строки отправлять сообщение. В нашем случае будем смотреть лог Asterisk и при попытке подбора паролей оповещать по Telegram админа сервера.

ESXi vSphere CLI: завершение работы виртуальных машин, скрипт на bash / sh

В жизни ИТ специалистов могут возникать ситуации, когда нужно максимально быстро завершить работу серверов. В нашем случае речь идет о виртуальных машинах на гипервизоре VMware ESXi, которые нужно попытаться мягко выключить и после этого погасить сервер.

Если машины мягко не выключатся (зависли или на них не установлены vm-tools), то ждем 10 секунд и выключаем "аппаратно" т.к. в данном случае мы идем на оправданный риск.

Проверяем хост на доступность (ping) и пишем в файл (отправляем сообщение) при падении линка. Полезный скрипт мониторинга ресурсов.

Возникла простая задача, проверять удаленный роутер на доступность и вести статистику. Задача тривиальная и поднимать Zabbix или что-то подобное для одного хоста не решился. В итоге написал скрипт на bash, который пингует удаленный хост. Этот скрипт можно модифицировать и под другие задачи, когда требуется менять статус в зависимости от проверки чего-либо.

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

Отправляем звонки из Asterisk на почту

Была поставлена задача отправлять записи входящих звонков отдела продаж руководителю в конце дня. Сервер телефонии у меня настроен вручную, веб интерфейс (freepbx) не установлен. 

Самое простое решение пришедшее на ум - копировать mp3 файлы с записями разговоров в отдельную папку, после чего, в конце дня, отправлять эти файлы на почту и очищать папку.

Делим задачу на 3 этапа:
  1. Подготовить файлы
  2. Настроить почтовый клиент
  3. Написать скрипт отправки сообщений и поместить его в cron