По мотивам Автоматическая проверка бекапов mysql, ldap можно пойти чуть дальше и начать автоматически проверять бекапы бакулы.
Подробнее: Автоматическая проверка бекапов, сделанных в бакуле
На данном сайте выкладываю заметки того, с чем приходилось сталкиваться и что, по-моему мнению, заслуживает внимания.
По мотивам Автоматическая проверка бекапов mysql, ldap можно пойти чуть дальше и начать автоматически проверять бекапы бакулы.
Подробнее: Автоматическая проверка бекапов, сделанных в бакуле
Например, если в диалплане есть что-то либо подобное:
same => n,System(echo "Voice message. текст из яндекс: ${TEXT1}" | mailx -a /record/${UNIQUEID}.wav -s "Voice message from (в скобках русские буквы)" $EMAIL)
На почту приходит сообщение с Темой "Voice message from (?? ?????????????? ?????????????? ??????????)", а Тело сообщения как вложение с именем noname. Если пробовать запускать эту команду из консоли все работает, из скрипта тоже. Проблема возникает, если именно запускать из астериска.
Подробнее: отправка почтового сообщения с русскими буквами в астериске
В свое время (года 3-4 назад) появилась задача по переходу бездисковых рабочих станций freebsd (да, есть и такая экзотика) на ос дебиан (stable).
Что было в наличии: небольшие удаленные филиалы без админов, шлюз на freebsd в каждом филиале, рабочие станции с никсами.
Что хотим: удаленно засетапить нужную систему с минимальными усилиями.
Подробнее: Быстрая установка рабочей станции линукс из шаблона
Здесь бы хотел указать один из возможных вариантов удобного планирования диалплана в случае наличия филиалов с разной нумерацией.
Суть примерно следующая: каждый телефон в филиале размещается в своем контексте (например in_ekb, in_spb, in_msk и тп.). В каждом контексте указываются правила набора для исходящих звонков. Чтобы можно было совершать звонки между филиалами, каждый контекст содержит в себе один общий внутренний контекст, в котором указываем правила для внутренних звонков между филиалами. Примерная схема (внутренняя нумерация филиалов - например ekb 51XX, spb - 52XX):
Иногда приходится достать из вывода команды какую-либо подстроку, например uid:
VBoxManage list vms "external" {ce0855a2-3d41-4526-a1f6-d6c63f6bface} "web" {8326e080-d1df-4d6b-b074-010bb3bf553d} "sip2" {696527a4-b87b-474c-a12b-83475d73d799} "sip" {23bf91db-e871-42ae-876b-d68717b0fa6c} "testVM" {69dcd4c7-3902-403a-af75-f9a8238dec6a}
Как известно, администраторы делятся на тех кто делает и не делает бекап. В свою очередь те кто делают, еще подразделяются на тех, кто их проверяет или нет. Сам факт наличия бекапов я делаю через простое отображение в Комплексном экране заббикса списка файлов в директории, т.е. просто
ls -oth /DATA/BACKUP/ldap/`date +%m.%Y`/ | grep -v ^total | head -n 6 | cut -d " " -f4-
Возникла задача - мониторить программный raid linux и текущие параметры дисков, при этом внешняя система мониторинга понимает только числовые значения на выходе.
Выпал на мою долю перевод компании на рельсы ip-телефонии с собственной ip АТС. Вначале поставил сборку freepbx (на 6 центосе в сборке от хостера) "напосмотреть", основное все завелось, но когда немного начал вдаваться в детали, то он меня подразочаровал:
Статья не претендует на какую-то новизну, просто описывает мой личный опыт при разворачивании ip-телефонии, здесь не будет подробного howto, изложу лишь моменты на которые я обратил внимание.
Искал библиотеку на питоне для работы с AMI asterisk. Смотрел pyst, но примеров кода на нем совсем кот наплакал. Гугл подсказал, что есть еще panoramisk, Obelus. Ставим то, на что первым упал взгяд)
Есть в communigate такая полезная штука - Helpers (Помощники) https://www.communigate.com/communigatepro/Helpers.html. Данные приложения позволяют отправлять письмо, звонок и др. на обработку произвольной программы. Например, helpers активно используется в antispam plugin. У communigate все примеры на перле, я более знаком с питоном, поэтому хотелось попробовать его использовать. Появилась задача записывать все исходящие/входящие письма (Дата, от Кого, к Кому, Тема).
У communigate есть библиотека скриптов - http://www.communigate.com/ru/main/purchase/scriptrepository.html, где под наши цели подходит CGP-Helper-Plugin.pl - Пример-макет для написания своего Helper-а. Смотрим на него и переписываем под нас на питоне. Изначально задача состояла в состыковке самописной crm и почты communigate - чтобы все исходящие/входящие письма фиксировались на сайте.
Подробнее: Communigate - написание собственного обработчика на python (record email)
Когда пару лет назад переезжали с почты gmail на собственный почтовый сервер communigate, вылезла данная неприятная ошибка (после выхода сервера на рабочую нагрузку). Как решилось (в нашем случае 250 учетных записей):
Установка - Почта - smtp - Передача - Каналы - увеличили с 50 до 300 Установки- Услуги - HTTPU - Каналы - увеличили до 300
Необходимо добавить в таблицу маршрутизатора:
имя.домена = error
Php-разработчики попросили помочь с решением проблемы автозапуска nodejs приложения после загрузки ОС и его автоматического "поднятия" если оно упадет. С nodejs я на "вы", поэтому начал искать в интернете готовые решения.
Возможные частично удовлетворяющие решения: запуск в кроне после перезагрузки, написание init-скрипта, forever-service (вроде как может поднимать упавшие приложения nodejs, но в свою очередь ему самому как-то надо стартовать). Правильным выглядит использование systemd (там и автозагрузка, и поднятие упавшего приложения), но на сервере стоит 7 wheezy. Можно, конечно, его поставить, но поломать рабочий сайт не совсем хотелось.
Из простого и не затратного по времени показалась установка и использование monit.
Подробнее: Пример автостарта и поднятия упавшего приложения nodejs