Add a script to remove old entries from the database, default keeps 2 years of logs

This commit is contained in:
Daniel Berteaud 2012-10-16 14:52:05 +02:00
parent 70be65c741
commit 260359acbb
1 changed files with 15 additions and 0 deletions

View File

@ -0,0 +1,15 @@
#!/bin/bash
LOG=$(/sbin/e-smith/db configuration getprop qpsmtpd Log2Sql || echo 'disabled')
if [ "$LOG" != "enabled" ]; then
exit 0
fi
RETENTION=$(/sbin/e-smith/db configuration getprop qpsmtpd Log2SqlRetention || echo 730)
DB=$(/sbin/e-smith/db configuration getprop qpsmtpd DbName || echo smtp_log)
echo "delete from rcpts where mail_id IN (select mail_id from messages where date_day<DATE_SUB(NOW(), INTERVAL $RETENTION DAY));" | mysql $DB
echo "delete from message_body where mail_id IN (select mail_id from messages where date_day<DATE_SUB(NOW(), INTERVAL $RETENTION DAY));" | mysql $DB
echo "delete from messages where date_day<DATE_SUB(NOW(), INTERVAL $RETENTION DAY);" | mysql $DB