From df6c2ba072cda2c122646cbb91bed450f47b55ef Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Wed, 8 Aug 2007 11:58:03 +0000 Subject: added a database cleanup script based on a suggestion of Michael Mansour. Michael Meckelein adapted it sligthly for use with rsyslog. --- contrib/README | 12 ++++++++++++ contrib/delete_mysql | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 contrib/README create mode 100644 contrib/delete_mysql (limited to 'contrib') diff --git a/contrib/README b/contrib/README new file mode 100644 index 00000000..d8ef3dd2 --- /dev/null +++ b/contrib/README @@ -0,0 +1,12 @@ +This directory contains a number of possibly useful things that do not +directly relate to rsyslog. They are not actively supported, but as +I said often helpful. Use them with some care, as they may be outdated +in respect to the current release of rsyslog. + +At least some of this stuff has been found by our users and been +included after a brief check and possibly an adapation. If you have +something useful you would like to see in contrib, just drop us a +note (see http://www.rsyslog.com for how to do that at the time your +are reading this document). + +rgerhards, 2007-08-08 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 -- cgit