main.py). Позволяет получить статистику уникальных пользователей по домену со ссылкой финального редиректа. replace_urls.py). Изменяет ссылку финального редиректа во всех порталах, найденных в результирующем файле первого скрипта (main.py).application.conf;У пользователя MySQL должны быть права чтения на БД wireless для таблиц SSID и SSID_PARAMS, которых нет по-умолчанию.
Так же для проверки нужны будут права чтения на таблицу DOMAINS базы данных eltex_ems.
Посмотреть текущие права:
show grants for <имя пользователя>; |
Команда для выдачи прав:
GRANT SELECT ON wireless.SSID TO '<имя пользователя>'@'<ip хоста запуска скрипта или %>'; GRANT SELECT ON wireless.SSID_PARAMS TO '<имя пользователя>'@'<ip хоста запуска скрипта или %>'; GRANT SELECT ON eltex_ems.DOMAINS TO '<имя пользователя>'@'<ip хоста запуска скрипта или %>'; |
Для запуска скрипта должен быть установлен python3.10
Для запуска скрипта необходимо установить зависимости. Это можно сделать при помощи команды:
sudo pip3.10 install -r requirements.txt |
application.confmain.py для получения результирующего файла статистикиsettings.replace_urls в application.conf)replace_urls.pysettingsmain.py для replace_urls.py)old_url ссылка финального редиректа, которую необходимо заменитьnew_url ссылка финального редиректа, на которую будет заменена стараяresult_file название результирующего файла, полученного скриптом сбора статистики (в этом файле хранятся данные, необходимые для запуска скрипта replace_urls.py)logginglevel уровень логирования (возможные варианты: "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL")filename название файла, в который будут записываться логиclickhouseport порт clickhouseuser имя пользователя clickhousepassword пароль пользователя clickhousemysqlhost хост, на котором установлен mysqlport порт mysqlusername имя пользователяpassword пароль пользователяcharset_ems кодировка базы данных eltex_emscharset_radius кодировка базы данных radiuscharset_wireless кодировка базы данных wirelesscharset_ELTEX_PORTAL кодировка базы данных ELTEX_PORTALpython3.10 main.py |
python3.10 replace_urls.py |
Start В таблице radstat найдено 404 записей, удовлетворяющих условию В таблице radacct найдено 609 записей, удовлетворяющих условию Результат выполнения скрипта выгружен в файл: result_2023-06-05_17-58-35.csv Finish Время выполнения скрипта: 0.04 с. |
Start Заменена(ы) 3 ссылка(и) финального редиректа Finish Время выполнения скрипта: 2.21 с. |
Скрипт с описанием доступен в архиве analyze_and_replace_redirection_URL.zip