Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »


Периодические процессы

За выполнение месячных и дневных периодически процессов отвечает программа /usr/abills/libexec/periodic

Примеры использования

Дневной периодик

/usr/abills/libexec/periodic daily

Дневные периодические процессы, система выполняет дневные периодические действия по всем модулям системы.

Порядок выполнения:

  • Установка кредитов

  • Обнуление скидок

  • Перенос должников по группам

  • Выполнение расписания

    • изменении тарифных планов

    • Установка статусов блокировки

    • выполнение других команд

  • Функции модулей

    • дневная абон. плата

    • управление оборудованием

  • Отправка E-mail отчётов администратору системы

  • Отправка E-mail предупреждений пользователям о израсходованном балансе

Месячный периодик

/usr/abills/libexec/periodic monthly

Месячный периодический процесс. Выполнение месячных процессов системы по всем подключенным модулям

  • Функции модулей

    • месячная абон. плата

    • месячная распределённая абон. плата (снимается каждый день)

    • управление оборудованием

  • Отправка E-mail отчётов администратору системы

  • Отправка E-mail предупреждений пользователям о израсходованном балансе

  • Резервное копирование базы данных

Архивация базы

/usr/abills/libexec/periodic backup

Выполнить резервное копирование 
При выполнении бекапа система пропускает таблицы _old _YYYY_MM_DD

Аргументы

BACKUP_IGNORE='table1,table2'Список игнорируемых таблиц

Запуск расписания принудительно

/usr/abills/libexec/periodic daily SHEDULE=1 DATE=xxxx-xx-xx

Автоматическое выполнение

Вносим в cron периодические процессы /etc/crontab

 */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Запускать только определённую функцию
SHEDULEВыполнить только расписания
SET_FULL_CREDITУстановка кредита абонентам на сумму всех услуг акаунта, для компаний на сумму всех услуг абонентов компании
FULL_CREDIT_PERIODУстановить время действия полного кредита в днях
LOGINВыполнить периодический процесс только для определённого логина или логинов, логины нужно указывать через запятую
DEBUG=[0..7]Режим отладки 0-7

Установка кредита на сумму всех услуг

Кредит устанавливается на сумму всех услуг предоставляемых абоненту.

Данный кредит устанавливается исходя из следующий критериев:

  • только активным абонента (статус акаунта: активно)

  • если поле кредит не содержит другого значения кредита

  • если сумма на счету меньше суммы общего кредита абонента

Для компаний кредит устанавливается в размере суммы всех используемых услуг абонентами компании.
По умолчанию кредит предоставляется на неограниченный срок. Если нужно установить срок кредита нужно использовать параметр FULL_CREDIT_PERIOD. При использовании параметра FULL_CREDIT_PERIOD дата начала кредита считается датой выполнения программы, если другое не указано в аргументах 
Пример использования
Установка кредита на 10 дней

/usr/abills/libexec/periodic SET_FULL_CREDIT FULL_CREDIT_PERIOD=10

Параметры

UIDВыполнить только для определённого UID
LOGINВыполнить только для определённого логина
COMPANY_IDВыполнить только для определённой компании. 
Только для компаний COMPANY_ID='>0'

billd

abills/libexec/billd

Формат запуска

billd [plugin] [parameters]

Программа осуществляет контроль состояния системы

Возможности

  • контроль активности абонентов

  • контроль состояния депозита

  • контроль скорости

  • контроль синхронизации сессий с состоянием билинга, и удаление зомби сессий

  • контроль работы программ

  • существует интерфейс наращивания функционала через плагины

Установка

/etc/crontab

*/5     *       *       *       *       root    /usr/abills/libexec/billd -all

Аргументы командной строки

checkppp    - check Active ppp on FreeBSD session and disconnect unknown ip
checkppp    - check Active ppp on FreeBSD session and disconnect unknown ip
check_cisco_cid - check Cisco cids
checkpppd   - check Active pppd on Linux session and disconnect unknown ip
check_pptpd - chack Active PoPToP deamon on Linux
checkmikro  - check Active ppp on Mikrotik session and disconnect unknown ip.
CHECK speed
 checkspeed       - check cure speed for user on FreeBSD and Linux NAS. Arguments NAS_IDS=xx
   SHOW_SPEED=1  - Only show current speed
 checkspeed_mikro - check cure speed for user on Mikrotik. Arguments NAS_IDS=xx

 speed_expr       - Speed Expration
 SHOW_CUR_SPEED   - Show current users speed
 OS               - Local OS (Linux|FreeBSD). Optional params
 PLUGINS
   check_dublicates
   check_programs

 CHECK connection Alive
  checklines  - Check alive connections
  -d          - deamon mode

  debug       - debug mode
  NAS_IDS=... - Make actions for NAS

Плагины

Плагины программы размещаются в каталоге abills/libexec/billd.plugins/. Плагины вызываются при явном указании их названия. При вызове плагинов другие операции не производятся.

  • No labels