mbcron¶
Модуль обработки отложенных заданий и команд
Файловая структура модуля¶
/var/bill
├── mbcron
│ ├── production
│ │ ├── config
│ │ │ └── config.xml
│ │ ├── index.php
│ │ ├── scripts
│ │ │ ├── 5min.sh
│ │ │ ├── block.sh
│ │ │ ├── day.sh
│ │ │ ├── lastday.sh
│ │ │ ├── mrtg.sh
│ │ │ ├── mth.sh
│ │ │ ├── update_bras.sh
│ │ │ ├── update_cpu.sh
│ │ │ ├── update_dev.sh
│ │ │ └── update_ram.sh
│ │ └── updates
│ │ ├── mbcron.current.checksum
│ │ ├── mbcron.downloaded.checksum
│ │ └── mbcron_update.sh
│ └── testing
│ ├── config
│ │ └── config.xml
│ ├── index.php
│ ├── scripts
│ │ ├── 5min.sh
│ │ ├── block.sh
│ │ ├── day.sh
│ │ ├── lastday.sh
│ │ ├── mrtg.sh
│ │ ├── mth.sh
│ │ ├── update_bras.sh
│ │ ├── update_cpu.sh
│ │ ├── update_dev.sh
│ │ └── update_ram.sh
│ └── updates
│ ├── mbcron.current.checksum
│ ├── mbcron.downloaded.checksum
│ └── mbcron_testing.sh
├── logs
│ ├── mbcron
│ │ ├── mbcron.debug
│ │ ├── mbcron.log
│ │ └── update.log
Описание директорий и файлов¶
файл/директория |
описание |
|---|---|
/var/bill |
домашняя директория биллинга |
/var/bill/mbcron |
домашняя директория модуля |
/var/bill/mbcron/production |
production версия модуля |
/var/bill/mbcron/testing |
testing версия модуля |
/var/bill/backup/mbcron |
директория для бекапов |
<version>/config/config.xml |
файл конфига модуля |
<version>/index.php |
файл с кодом модуля |
<version>/scripts |
директория с скриптами модуля |
<version>/scripts/5min.sh |
bash скрипт с набором команд которые необходимо переодически запускать |
<version>/scripts/block.sh |
bash скрипт с набором команд для блокировки абонентов по балансу |
<version>/scripts/day.sh |
bash скрипт с набором команд для ежедневных снятий абонплаты |
<version>/scripts/mth.sh |
bash скрипт с набором команд для ежемесчных снятий абонплаты |
<version>/scripts/lastday.sh |
bash скрипт с набором команд которые необходимо запускать в конце месяца |
<version>/scripts/mrtg.sh |
bash скрипт с командами генерации mrtg графиков |
<version>/updates |
директория с файлами обновления |
<version>/updates/mbcron_update.sh |
загрузчик и установщик обновлений |
<version>/updates/mbcron.current.checksum |
файл с md5 суммой текущей версии обновлений |
<version>/updates/mbcron.downloaded.checksum |
файл с md5 суммой загруженной версии обновлений |
/var/bill/logs/mbcron |
директория логов модуля |
/var/bill/logs/mbcron/mbcron.log |
основной лог модуля |
/var/bill/logs/mbcron/mbcron.debug |
debug лог модуля |
/var/bill/logs/mbcron/update.log |
лог обновлений модуля |
Файл конфигурации¶
Файл расположен по пути /var/bill/mbcron/<version>/config/config.xml
<config>
<parameters>
<mysql>
<host>DATABASE_IP</host>
<username>DATABASE_USER</username>
<password>DATABASE_PASSWORD</password>
<dbname>DATABASE_NAME</dbname>
</mysql>
<timezone>Europe/Kiev</timezone>
<partialUTF8>false</partialUTF8>
<debug>false</debug>
<error_log>/var/bill/logs/mbcron/mbcron.log</error_log>
<debug_log>/var/bill/logs/mbcron/debug.log</debug_log>
</parameters>
</config>
параметр |
описание |
|---|---|
mysql секция |
|
host |
IP адрес базы данных |
username |
имя пользователя для подключения к базе данных |
password |
пароль пользователя |
dbname |
название базы данных биллинга |
timezone |
Временная зона |
partialUTF8 |
Частичное использование UTF8 |
debug |
режим дебага, значения |
debug_log |
лог файл куда будет записана информация из дебага |
error_log |
освнойно файл лога |
Загрузщик обновлений¶
Варианты запуска файла /var/bill/mbcron/<version>/mbcron_update.sh
Ключ |
Описание |
|---|---|
Обычный запуск без параметров, скачает последнюю доступную версию обновления |
|
-f |
Режим принудительного повторного обновления (игнорирует md5 проверку) |
-t |
Произвести загрузку testing версии обновления |
Задания cron¶
Файл с заданиями модуля расположен по пути
/etc/cron.d/mbcron_productionи содержит заданиязапуск обновления production версии модуля
запуск переодичных заданий из скрипта 5min.sh
запуск скрипта для блокировки абонентов по балансу (block.sh)
запуск скрипта для снятия абонплаты (day.sh, mth.sh)
запуск скрипта для заданий выполняющихся в конце месяца (lastday.sh)
запуск скрипта для генерации графиков mrtg
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
# update
05 6 * * * root /var/bill/mbcron/production/updates/mbcron_update.sh
# billing tasks
0-59/5 * * * * root /var/bill/mbcron/production/scripts/5min.sh
# mrtg graph
0-59/5 * * * * root /var/bill/mbcron/production/scripts/mrtg.sh
# daily write-offs
57 23 * * * root /var/bill/mbcron/production/scripts/block.sh
58 23 * * * root /var/bill/mbcron/production/scripts/day.sh
# monthly write-offs
59 23 28-31 * * root [ "$(date +%d -d tomorrow)" = "01" ] && /var/bill/mbcron/production/scripts/lastday.sh
01 0 1 * * root /var/bill/mbcron/production/scripts/mth.sh
При возникновении проблем, сообщите о них в нашем CRM или Telegram канале.