Назначение модуля
Модуль предназначен для выявления старых таблиц в базе данных по заданной конфигурации и генерации скриптов их резервного копирования и удаления из БД.очистки БД от устаревших данных. Многие данные в биллинге, например логи запросов и др. хранятся в месячных таблицах, которые по прошествию определенного времени можно переносить в архив или удалять для уменьшния размеров БД.
Модуль имеет два режима работы, ручной и автоматический.
В ручном режиме модуль формирует по заданным критериям скритп, запустив который в ручную можно создать дампы выбранных таблиц и затем удалить их из БД.
В автоматическом режиме, специальная задача планировщика, переодически запускается и проверяет БД на наличие таблиц удовлетворяющих заданным критериям, после чего для них вызывается внешний скрипт с помощью которого можно например сделать дамп заданных таблиц, за архивировать его и переместить на бакап сервер, а в БД удалить таблицу. (пример внешнего скрипта - https://bgbilling.ru/download/script/dba_archive.sh)
Примечание |
---|
На данный момент модуль не предназначен для создания актуальных бакапов системы, только для очистки старых данных. |
Установка и настройка модуля
Модуль устанавливается с помощью утилиты bg_installer, после чего создаётся его экземпляр. Установите модуль и создайте экземпляр. Перейдите в настройке модуля (Меню - Модули - 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. Если какая-то из таблиц не будет сохранена успешно, скрипт прерывает свою работу. Далее при успешном резервном копировании удаляются все требуемые таблицы из БД.
Полученный скрипт можно перенести в файл копированием через буфер обмена, либо использованием кнопки Сохранить, выбрав предварительно файл в поле ввода файла внизу окна.
...