При запуске и остановке служб на сервере вызываются скрипты /app/*/cfg/hooks с параметрами, сообщающими о том, какая служба была запущена или остановлена.
Таким образом для каждого сервиса можно делать свои дополнительные настройки.
Первый параметр - служба, второй 'start' или 'stop', третий параметр - код возврата от службы.
При помощи файлов /app/*/cfg/hooks можно делать нестандартные настройки сервера.
h2. В этом разделе приводятся примеры таких скриптов.
Отредактировать файл можно следуя инструкциям из этой статьи.
Изменения вносятся в середину скрипта, первую и последнюю строки оставьте неизменными. В общем виде скрипт должен выглядеть так.
{code}
#!/bin/bash
if [ "$1" = 'Имя_службы' -a "$2" = 'Параметр' ]; then
:
#Ваши изменения здесь
fi
exit 0
{code}
Скрипты находятся в разных контейнерах, которые имеют разные задачи:
1) base - отвечает за базовые настройки в биллинге.
Скрипт /app/base/cfg/hooks
iptables-цепочки: base_input и base_output
Обычно используется для предоставления доступа к к веб-интерфейсу управления, но правильнее использовать соответствующее поле в [веб-интерфейсе|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=48693373]
2) asr_fiscal - отвечает за взаимодействие с платежными системами:
Скрипт /app/asr_fiscal/cfg/hooks
iptables-цепочки: asr_fiscal_input и asr_fiscal_output
Обычно используется для предоставления доступа платежных систем к биллингу, но правильнее использовать соответствующее поле в [веб-интерфейсе Шаг 4|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129]
3) asr_cabinet - отвечает за функционирование локального сайта и личного кабинета
Скрипт /app/asr_cabinet/cfg/hooks
iptables-цепочки: asr_cabinet_input и asr_cabinet_output
Обычно используется для предоставления доступа к локальному сайту и личному кабинету. По умолчанию доступ предоставлен всем.
4) monitoring - отвечает за функционирование систем мониторинга, в частности Zabbix.
Скрипт /app/monitoring/cfg/hooks
iptables-цепочки: monitoring_input и monitoring_output
Обычно используется для предоставления доступа к ZABBIX.
{color:#ff0000}Внимание\! Запрещено добавлять правила в другие контейнеры и Базовые цепочки (INPUT, OUTPUT итд) .{color}
После редактирования скрипта нужно перезапустить соответствующий контейнер:
Например /app/base/service restart
h2. Автоматизированное использование
Ничто не мешает использовать hooks с помощью cron. Таким образом вы можете выполнять некие команды не при наступлении какого-то события, а в нужное вам время.
Для этого нужно использовать в качестве имени службы:
* cron.10min \- для того чтобы выполнять что-то каждые 10 минут
* cron.daily \- для того чтобы выполнять что-то каждый день
* cron.hourly \- для того чтобы выполнять что-то каждый час
* cron.monthly \- для того чтобы выполнять что-то каждый месяц
* cron.weekly \- для того чтобы выполнять что-то каждую неделю
Либо /etc/crontab, если вам нужно указать специфичное время, но в таком случае указать в вызове в качестве имени службы что-то уникальное, например
{code}
10 */2 * * * root /cfg/hooks /etc/init.d/networkd start 1>/dev/null 2>/dev/null
{code}
Таким образом для каждого сервиса можно делать свои дополнительные настройки.
Первый параметр - служба, второй 'start' или 'stop', третий параметр - код возврата от службы.
При помощи файлов /app/*/cfg/hooks можно делать нестандартные настройки сервера.
h2. В этом разделе приводятся примеры таких скриптов.
Отредактировать файл можно следуя инструкциям из этой статьи.
Изменения вносятся в середину скрипта, первую и последнюю строки оставьте неизменными. В общем виде скрипт должен выглядеть так.
{code}
#!/bin/bash
if [ "$1" = 'Имя_службы' -a "$2" = 'Параметр' ]; then
:
#Ваши изменения здесь
fi
exit 0
{code}
Скрипты находятся в разных контейнерах, которые имеют разные задачи:
1) base - отвечает за базовые настройки в биллинге.
Скрипт /app/base/cfg/hooks
iptables-цепочки: base_input и base_output
Обычно используется для предоставления доступа к к веб-интерфейсу управления, но правильнее использовать соответствующее поле в [веб-интерфейсе|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=48693373]
2) asr_fiscal - отвечает за взаимодействие с платежными системами:
Скрипт /app/asr_fiscal/cfg/hooks
iptables-цепочки: asr_fiscal_input и asr_fiscal_output
Обычно используется для предоставления доступа платежных систем к биллингу, но правильнее использовать соответствующее поле в [веб-интерфейсе Шаг 4|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=49087129]
3) asr_cabinet - отвечает за функционирование локального сайта и личного кабинета
Скрипт /app/asr_cabinet/cfg/hooks
iptables-цепочки: asr_cabinet_input и asr_cabinet_output
Обычно используется для предоставления доступа к локальному сайту и личному кабинету. По умолчанию доступ предоставлен всем.
4) monitoring - отвечает за функционирование систем мониторинга, в частности Zabbix.
Скрипт /app/monitoring/cfg/hooks
iptables-цепочки: monitoring_input и monitoring_output
Обычно используется для предоставления доступа к ZABBIX.
{color:#ff0000}Внимание\! Запрещено добавлять правила в другие контейнеры и Базовые цепочки (INPUT, OUTPUT итд) .{color}
После редактирования скрипта нужно перезапустить соответствующий контейнер:
Например /app/base/service restart
h2. Автоматизированное использование
Ничто не мешает использовать hooks с помощью cron. Таким образом вы можете выполнять некие команды не при наступлении какого-то события, а в нужное вам время.
Для этого нужно использовать в качестве имени службы:
* cron.10min \- для того чтобы выполнять что-то каждые 10 минут
* cron.daily \- для того чтобы выполнять что-то каждый день
* cron.hourly \- для того чтобы выполнять что-то каждый час
* cron.monthly \- для того чтобы выполнять что-то каждый месяц
* cron.weekly \- для того чтобы выполнять что-то каждую неделю
Либо /etc/crontab, если вам нужно указать специфичное время, но в таком случае указать в вызове в качестве имени службы что-то уникальное, например
{code}
10 */2 * * * root /cfg/hooks /etc/init.d/networkd start 1>/dev/null 2>/dev/null
{code}