#!/bin/bash -x DATABASE=sguildb DB_USER=sguil DB_PASSWORD=YOUR-PASSWD DAYSTOKEEP=90 MYSQLBIN=/usr/bin/mysql MYSQLDBDIR=/var/lib/mysql SGUILDINIT=/etc/init.d/sguil-server ARCHIVEDIR=/var/lib/archive/ mkdir -p $ARCHIVEDIR KEEPDAY=`$MYSQLBIN -u$DB_USER -p$DB_PASSWORD -BN -e "SELECT DATE_FORMAT(DATE_SUB(NOW(), INTERVAL $DAYSTOKEEP DAY), '%Y%m%d');" -D $DATABASE` $SGUILDINIT stop for TABLEPREFIX in "data" "event" "icmphdr" "sancp" "tcphdr" "udphdr" do $MYSQLBIN -u$DB_USER -p$DB_PASSWORD -BN -e "DROP TABLE $TABLEPREFIX;" -D $DATABASE TABLES=(`$MYSQLBIN -u$DB_USER -p$DB_PASSWORD -BN -e "SHOW TABLES LIKE '$TABLEPREFIX%';" -D $DATABASE`) for TABLE in "${TABLES[@]}" do TABLEDAY=`echo "$TABLE" | awk -F_ '{print($3)}'` TABLEDAYLENGT=`echo -n "$TABLEDAY"|wc -c` if [ $(($TABLEDAYLENGT)) -eq $((8)) ]; then if [ $(($TABLEDAY)) -lt $(($KEEPDAY)) ] then mv $MYSQLDBDIR/$DATABASE/$TABLE* $ARCHIVEDIR fi fi done done $SGUILDINIT start exit 0