Подготовка и настройка
Для запуска требуется установка `pyhocon` и `PyMySQL`. Для их установки можно воспользоваться командой:
$ sudo pip3 install -r requirements.txt
**Внимание!** Перед запуском скрипта рекомендуется сделать дамп базы данных `radius`.
Сделать это можно командой:
$sudo mysqldump -uroot -proot radius > radius_dump.sql
Конфигурационный файл application.conf
Данный файл содержит настройки скрипта. Можно настроить:
- `mysql`
- `host` хост, на котором установлен mysql
- `port` порт mysql
- `username` имя пользователя
- `password` пароль пользователя
- `charset_radius` кодировка базы данных radius
- `log`
- `file` - имя файла с логами
- `level` - уровень логирования
Запуск
Запуск скрипта для удаления лишних записей по тарифам из таблиц `radgroupreply` и `radgroupcheck`:
$ python3 main.py
Скрипт удаляет некорректные данные из таблиц `radgroupreply` и `radgroupcheck`, которые не имеют связей с таблицей
`TARIFF` через `groupname`.
Во время выполнения скрипта таблицы `TARIFF`, `radgroupreply` и `radgroupcheck` будут заблокированы!
Пример работы скрипта:
$ python3 main.py Start script ... Incorrect radgroupreply records count: 1 Incorrect radgroupcheck records count: 1 Next records from radgroupreply' will be deleted (1): {'id': 10560, 'groupname': 'ultraTariff5', 'domain': 'toor.ffiraTroFniamod', 'attribute': 'Eltex-User-Create-Date', 'op': '=', 'value': '2023-05-12 16:43:25'} Next records from radgroupcheck' will be deleted (1): {'id': 3037, 'groupname': 'ultraTariff5', 'domain': 'toor.ffiraTroFniamod', 'attribute': 'Simultaneous-Use', 'op': ':=', 'value': '3'} Confirm delete? (y/n) y Incorrect records deleted count: 1 (radgroupreply), 1 (radgroupcheck) Script is completed.
Скрипт с описанием доступен в архиве remove_excess_radius_data.zip