Назначение модуля
Модуль предназначен для очистки БД от устаревших данных. Многие данные в биллинге, например логи запросов и др. хранятся в месячных таблицах, которые по прошествию определенного времени можно переносить в архив или удалять для уменьшния размеров БД.
Модуль имеет два режима работы, ручной и автоматический.
В ручном режиме модуль формирует по заданным критериям скритп, запустив который в ручную можно создать дампы выбранных таблиц и затем удалить их из БД.
В автоматическом режиме, специальная задача планировщика, переодически запускается и проверяет БД на наличие таблиц удовлетворяющих заданным критериям, после чего для них вызывается внешний скрипт с помощью которого можно например сделать дамп заданных таблиц, за архивировать его и переместить на бакап сервер, а в БД удалить таблицу. (пример внешнего скрипта - https://bgbilling.ru/download/script/dba_archive.sh)
На данный момент модуль не предназначен для создания актуальных бакапов системы, только для очистки старых данных.
Установка и настройка модуля
Установите модуль и создайте экземпляр. Перейдите в настройке модуля (Меню - Модули - DBA).
Автоматический режим настраивается на закладке "Таблицы БД".
Выделяем в таблице нужные и через контекстное меню выбираем режим автоархивирования или вручную указываем какие таблицы надо за архивировать.
Для работы Автоматического режима, также необходимо добавить в планировщик задачи "Задача генерации заданий на архивирование периодических таблиц" и "Задача архивирования периодических таблиц" в виде пакетного задания. Частота запуска раз в сутки (ночью).
# в параметрах запуска задачи "Задача архивирования периодических таблиц" можно задать следующие параметры dba.archive.script=script/dba_archive.sh dba.archive.script.db.host=192.168.0.111 dba.archive.script.db.name=bgbilling dba.archive.script.db.user=bill
В каталоге планировщика необходимо создать каталог script и в него поместить файл https://bgbilling.ru/download/script/dba_archive.sh
Ручной режим настраивается на закладках "Настройка" и "Скрипт очистки БД"
На вкладке Настройка модуля необходимо выбрать какие таблицы в течении какого срока хранить и нужно ли резервное копирование при их удалении.
Использование модуля
После произведённой настройки по времени жизни таблиц на вкладке Скрипт очистки БД можно сгенерировать BASH или Batch файл для резервного копирования и очистки БД.
Имя БД сервер биллинга подставляет из data.properties.
В первой части скрипт сохраняет все требуемые таблицы с помощью утилиты mysqldump. Если какая-то из таблиц не будет сохранена успешно, скрипт прерывает свою работу. Далее при успешном резервном копировании удаляются все требуемые таблицы из БД.
Полученный скрипт можно перенести в файл копированием через буфер обмена, либо использованием кнопки Сохранить, выбрав предварительно файл в поле ввода файла внизу окна.
Мы рекомендуем вам визуально контролировать содержимое файла для большей надежности. Также на первых этапах возможно следует удалять все таблицы с предварительным резервным копированием.