среда, 16 июля 2014 г.

MySQL Удаление записей старше 15 дней

Во время логирования sysloga с железки в базу MySQL на сервере, база заметно растет. Для регулирования этого процесса чистим базу - удаляем записи старше 15 дней.

DELETE FROM `SystemEvents` 
WHERE `ReceivedAt` < (NOW() - INTERVAL 15 DAY);

это дело засунем в крон. Чистим каждый день в 00:00 с логированием.

crontab -e
0 0 * * * $HOME/bin/clearDBSyslog.job >> $HOME/log/daily 2>&1

содержимое clearDBSyslog.job

#!/bin/sh
mysql -B -T --user=root --password=SeCrEt --database=Syslog --execute='DELETE FROM `SystemEvents` WHERE `ReceivedAt` < (NOW() - INTERVAL 15 DAY)'

Комментариев нет:

Отправить комментарий