diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2007-08-08 11:58:03 +0000 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2007-08-08 11:58:03 +0000 |
commit | df6c2ba072cda2c122646cbb91bed450f47b55ef (patch) | |
tree | 3abcb1c47cb0a8ce24facc5f5216c4241f9b6b49 /contrib/delete_mysql | |
parent | f2511d3c610684b4c23dd91f1fbbfd90c935102d (diff) | |
download | rsyslog-df6c2ba072cda2c122646cbb91bed450f47b55ef.tar.gz rsyslog-df6c2ba072cda2c122646cbb91bed450f47b55ef.tar.xz rsyslog-df6c2ba072cda2c122646cbb91bed450f47b55ef.zip |
added a database cleanup script based on a suggestion of Michael Mansour.
Michael Meckelein adapted it sligthly for use with rsyslog.
Diffstat (limited to 'contrib/delete_mysql')
-rw-r--r-- | contrib/delete_mysql | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/contrib/delete_mysql b/contrib/delete_mysql new file mode 100644 index 00000000..c0d2ce8a --- /dev/null +++ b/contrib/delete_mysql @@ -0,0 +1,48 @@ +#!/bin/bash + +# Database maintance script which can be used for rsyslog +# and phplogcon default database schema. +# Michael Mansour suggested it to be included - thx! + +# This program was original part of of PHPloghost +# Copyright (C) 2004 Tuatha de Dana +# some modifications for rsyslog by mmeckelein at 2007-08-08 + +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111- 1307, USA. + +# Change these variables to reflect your situation. +database=sqlsyslogd +export table=logs +sqluser="" +password="" + +# Location of the mysql daemon: +mysqld=/usr/bin/mysql + +# A couple of steps should be taken to maintain your database. +# If not, the number of messages will fill your database. +# By default, logs are deleted after they're one year old. +# Change this to meet your requirements. +# rsyslog's default database template use two date columns +# ReceivedAt and DeviceReportedTime. You can use either of +# the two and in most cases it doesn't make a huge difference. +# See the property replacer doc at http://www.rsyslog.com/doc +# for details on the two dates. +SQL_DELETE="DELETE FROM $table WHERE ReceivedAt < CURDATE() - INTERVAL 1 year;" + +# After a large amount of rows have been deleted, we should # optimize the table. +SQL_OPT="OPTIMIZE TABLE $table;"; + +$mysqld -u$sqluser -p$password -e"$SQL_DELETE" -D$database $mysqld -u$sqluser -p$password -e"$SQL_OPT" -D$database |