Table of Contents |
---|
Периодические процессы
За выполнение месячных и дневных периодически процессов отвечает программа /usr/abills/libexec/periodic
Примеры использования
Дневной периодик
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/periodic daily |
Дневные периодические процессы, система выполняет дневные периодические действия по всем модулям системы.
Порядок выполнения:
Установка кредитов
Обнуление скидок
Перенос должников по группам
Выполнение расписания
изменении тарифных планов
Установка статусов блокировки
выполнение других команд
Функции модулей
дневная абон. плата
управление оборудованием
Отправка E-mail отчётов администратору системы
Отправка E-mail предупреждений пользователям о израсходованном балансе
Code Block | ||||
---|---|---|---|---|
| ||||
/usr/abills/libexec/periodic monthly |
Месячный периодический процесс. Выполнение месячных процессов системы по всем подключенным модулям
Функции модулей
месячная абон. плата
месячная распределённая абон. плата (снимается каждый день)
управление оборудованием
Отправка E-mail отчётов администратору системы
Отправка E-mail предупреждений пользователям о израсходованном балансе
Резервное копирование базы данных
Чтобы отключить создание бакапа при месячном периодике запускайте команду со следующими параметрами
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/periodic monthly SKIP_MODULES=backup |
Архивация базы
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/periodic backup |
Выполнить резервное копирование
При выполнении бекапа система пропускает таблицы:
ipn_traf_detail
s_detail
ipn_log_backup
ipn_unknow_ips
errors_log
_old _YYYY_MM_DD
Аргументы
BACKUP_IGNORE='table1,table2' | Список игнорируемых таблиц |
---|
Бекап и востановление базы по файлам
Возникают ситуации когда нужно получить бекап таблиц с разбивкойпо файлам.
BY_TABLE=1 | Включить режим бекапа по файлам |
RESTORE=1 | Включить режим востановления. Система востанавливает файлы с каталога /usr/abills/backup/_[поточная дата] |
RESTORE_DB | База для востановления |
Запуск расписания принудительно
Code Block | ||
---|---|---|
| ||
/usr/abills/libexec/periodic daily SHEDULE=1 DATE=xxxx-xx-xx |
Автоматическое выполнение
Вносим в cron периодические процессы /etc/crontab
Code Block | ||
---|---|---|
| ||
*/5 * * * * root /usr/abills/libexec/billd -all 1 0 * * * root /usr/abills/libexec/periodic daily 1 1 * * * root /usr/abills/libexec/periodic monthly |
Обратите внимание, что дневной периодический процесс желательно запускать в 00:00:00, а месячный через час 01:00:00. Это делается для того, чтобы успели отработать все переключения тарифных планов и другие действия планировщика заданий. Месячный периодик запускается каждый день так как он следит за месячной распределённой абонплатой, месячными периодическими снятиями с произвольными датами и делает бекап.
Аргументы программы
Дополнительные параметры
DATE=2005-10-01 | Дата, за которую нужно выполнить периодические процессы |
---|---|
NO_USERS_WARNINGS | Не оправлять предупреждений пользователям о израсходованном депозите |
MODULES=[modules_list,…] | Выполнить периодический процесс только для определённых модулей системы |
SKIP_MODULES=[modules_list] | Не выполнять программу для определённых модулей системы |
NO_ADM_REPORT | Не оправлять администратору отчёт о работе системы |
FN | Запускать только определённую функцию. Список функцый находиться в Abills/[module]/config |
SKIP_FN | Пропускать запуск определенных функций. Список функцый находиться в Abills/[module]/config |
SHEDULE | Выполнить только расписания |
SET_FULL_CREDIT | Установка кредита абонентам на сумму всех услуг акаунта, для компаний на сумму всех услуг абонентов компании |
FULL_CREDIT_PERIOD | Установить время действия полного кредита в днях |
LOGIN | Выполнить периодический процесс только для определённого логина или логинов, логины нужно указывать через запятую |
DEBUG=[0..7] | Режим отладки 0-7 При уровне дебага выше 7 система показывает действия на выполнение но не производит начисление абонплаты |
Установка кредита на сумму всех услуг
Кредит устанавливается на сумму всех услуг предоставляемых абоненту.
Данный кредит устанавливается исходя из следующий критериев:
только активным абонента (статус акаунта: активно)
если поле кредит не содержит другого значения кредита
если сумма на счету меньше суммы общего кредита абонента
Для компаний кредит устанавливается в размере суммы всех используемых услуг абонентами компании.
По умолчанию кредит предоставляется на неограниченный срок. Если нужно установить срок кредита нужно использовать параметр FULL_CREDIT_PERIOD. При использовании параметра FULL_CREDIT_PERIOD дата начала кредита считается датой выполнения программы, если другое не указано в аргументах
Пример использования
Установка кредита на 10 дней. Кредит будет начисляться в 0.00 1 числа каждого месяца.
Code Block | ||||
---|---|---|---|---|
| ||||
0 0 1 * * root /usr/abills/libexec/periodic SET_FULL_CREDIT FULL_CREDIT_PERIOD=10 |
Параметры
UID | Выполнить только для определённого UID |
---|---|
LOGIN | Выполнить только для определённого логина |
COMPANY_ID | Выполнить только для определённой компании. Только для компаний COMPANY_ID='>0' |
DEPOSIT="<10" | Фильтрация по депозитам для услуги полный кредит |
GID="1;2;3" | Фильтрация по группам для услуги полный кредит |