clean_job_logs¶
Удаление старых логов выполнения задач из базы данных
Зачем нужна¶
Команда удаляет только записи о результатах выполнения UEM-задач (audit_logevent с name = JOB_RESULT), не трогая остальные записи аудита (входы, HTTP-запросы, CRUD-события). Логи задач — самая «тяжёлая» часть журнала на серверах с регулярной инвентаризацией и массовыми политиками: они быстрее остальных переполняют базу
Типичные случаи применения:
регулярная очистка логов задач по расписанию, чтобы журнал не разрастался без контроля
сократить размер журнала задач после массового запуска инвентаризации или большой партии политик
освобождение места в базе перед бэкапом или миграцией без потери остального аудита (входов, доступов, изменений объектов)
Важно
Команда удаляет данные необратимо. Перед запуском сделайте резервную копию базы или сохраните нужные записи о выполнении задач отдельно
Синтаксис¶
rude clean_job_logs [minutes/hours/days/weeks] [amount] [--batch-size N] [--batch-pause SECONDS]
Параметры¶
Параметр |
Описание |
|---|---|
{minutes/hours/days/weeks} |
Единица измерения периода: |
amount |
Количество единиц периода (целое число) |
–batch-size |
Количество записей в одном батче удаления. Значение по умолчанию: |
–batch-pause |
Пауза между полными батчами в секундах. Значение по умолчанию: |
Регулировка нагрузки на базу данных¶
Записи удаляются батчами в отдельных транзакциях. По умолчанию один батч содержит 10 000 записей, а между полными батчами команда делает паузу 0,1 секунды. Такой режим ограничивает размер одной транзакции и даёт базе данных короткие интервалы для обработки других запросов.
Параметры --batch-size и --batch-pause позволяют регулировать нагрузку:
меньший размер батча и более длинная пауза снижают пиковую нагрузку на базу данных, но увеличивают общее время очистки
больший размер батча и короткая пауза ускоряют очистку, но создают более высокую нагрузку на диски, WAL и autovacuum
значение
--batch-pause 0отключает паузы между батчами
Важно
В отличие от clean_audit_logs, команда удаляет только записи о результатах выполнения задач (записи аудита с name = JOB_RESULT). Остальные записи аудита (входы, HTTP-запросы, CRUD-события и т.д.) сохраняются. Операция необратима
Пример¶
Чтобы удалить логи задач, которым более пяти дней, введите следующее:
rude clean_job_logs days 5
После выполнения команды записи о выполнении задач старше пяти дней будут удалены
Чтобы снизить нагрузку на базу данных при удалении большого объёма логов, можно использовать батчи по 5 000 записей с паузой 0,2 секунды:
rude clean_job_logs days 5 --batch-size 5000 --batch-pause 0.2