Назад | Перейти на главную страницу

Как мне повернуть документы rsyslog, хранящиеся в mysql

Я настроил rsyslog для сброса данных системного журнала в mysql, чтобы LogAnalyzer мог легко получить к нему доступ и взаимодействовать с ним.

Как мне автоматизировать работу по удалению данных системного журнала определенного возраста для базы данных mysql, чтобы они не заполняли мой жесткий диск?

Пусть cronjob выполняет следующий запрос один раз в день:

 delete from syslogtable where timestampfield < subdate(curdate(), 31); 

Вот, syslogtable это таблица, о которой идет речь, timestampfield - это поле ДАТА / ВРЕМЯ, содержащее дату записи в журнале, и будут удалены записи журнала старше 31 дня. Адаптируйтесь к вашей местной ситуации (имена базы данных, таблиц и полей и желаемое время для хранения записей журнала).

Правильный синтаксис того, что сказал @Sven:

mysql -u database-userid -pdatabase-password -e “DELETE FROM SystemEvents WHERE ReceivedAt < date_add(current_date, interval -1 day)” database-name

Это удалит данные старше одного дня. Используйте crontab по своему вкусу.