#!/bin/bash
#
# $Id: maintaindb,v 1.2 2002/04/02 19:07:06 syatskevich Exp $
#
#   
#

if [ ! -r "/etc/sysconfig/loganalyzer" ]; then
	echo "   .  $0 "
	exit 1
fi

if [ ! -f "/var/lock/subsys/loganalyzer" ]; then
	echo "Log Analyzer  .  $0 "
	exit 1
fi

if [ ! -f "/var/lock/subsys/postgresql" ]; then
	echo "PostgreSQL-  .  $0 "
	exit 1
fi

# $USER, $DBASE, $DBASE_ARCH_DIR, $AUTOCLEAN_OLDER_THAN, $AUTOCLEAN_INTRANET_MAIL
. /etc/sysconfig/loganalyzer

#  "" 
clean_older_than () {
	psql -q -U $USER -d $DBASE -c \
		"DELETE FROM $1 WHERE date < (date (now ()) - $AUTOCLEAN_OLDER_THAN)"
}

if [ "x$AUTOCLEAN_OLDER_THAN" != "x" ]; then
	clean_older_than proxy_log
	clean_older_than mail_log
	clean_older_than account_log
fi

#  "" 
if [ "x$AUTOCLEAN_INTRANET_MAIL" = "xyes" ]; then
	. /etc/sysconfig/network

	[ "x$DOMAINNAME" != "x" ] && psql -q -U $USER -d $DBASE -c \
		"DELETE FROM mail_log WHERE sender LIKE '%$DOMAINNAME' AND reciever LIKE '%$DOMAINNAME'"
fi

#  
vacuumdb -U $USER -d $DBASE -t proxy_log   > /dev/null
vacuumdb -U $USER -d $DBASE -t mail_log    > /dev/null
vacuumdb -U $USER -d $DBASE -t account_log > /dev/null
vacuumdb -U $USER -d $DBASE -t names       > /dev/null

#  
if [ -d "$DBASE_ARCH_DIR" ]; then
	/usr/bin/loganalyzer save "$DBASE_ARCH_DIR/$DBASE.bz2"
	chmod 600 "$DBASE_ARCH_DIR/$DBASE.bz2"
fi
