Использование хуков

по сравнению с
Текущая /dev/reductor
на фев 15, 2017 16:17.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (2)

просмотр истории страницы
{toc}

h1. Описание хуков

Многие скрипты Carbon Reductor поддерживают использование пользовательских хуков.

Хуки позволяют дополнить действия выполняемые скриптами Carbon Reductor или переопределять их.


h1. Расположение хуков

Хуки располагаются в директории /app/reductor/cfg/userinfo/hooks/, должны быть исполняемыми (chmod \+x путь_до_хука) и именоваться одинаково со скриптом, который они модифицируют.



h1. Как, когда и зачем писать хуки

В хуке вы можете описать функцию, имеющуюся в одноимённом скрипте. Все они написаны на bash, так что реализовать их не должно быть проблемой.

Самое главное - проверяйте, что с использованием вашего хука всё работает как надо.

Писать их надо в случае. если необходимо модифицировать один из стандартных скриптов Carbon Reductor на постоянной основе.

Все функции, кроме client_post_hook и client_pre_hook могут исчезнуть в одной из будущих версий.

Мы стараемся сообщать о глобальных изменениях в кодовой базе за неделю до выпуска новой версии в [официальном твиттер-аккаунте проекта|https://twitter.com/carbon_reductor], так что при использовании важных хуков рекомендуется следить за ним, а также время от времени самостоятельно проверять их работоспособность.

Примеры хуков вы можете просмотреть во вложенных страницах.

h1. Скрипты, часто подвергаемые хукам

* rkn_download.sh - выгрузка списков ркн
* diagnostic.sh - диагностика, можно добавлять свои проверки
* start.sh - стартовый скрипт, можно добавить дополнительные действия при старте
* stop.sh - здесь можно подчистить за добавленным в start.sh действиями
* rkn_info.sh - информация о выгруженном списке РКН
* show_stat.sh - информация о системе
* prepare_lists.sh - обработка списков
* firewall.sh - построение файрвола при старте (не забудьте подчищать правила и уничтожать ipset, если используете собственные).