#!/bin/bash
DIR=”$( cd “$( dirname “$0″ )” && pwd )”
MUSER=root
MPASS=passwd
MDB=aaa
MHOST=”localhost”
# 设置命令路径
MYSQL=$(which mysql)
AWK=$(which awk)
GREP=$(which grep)
# 连接mysql数据库
$MYSQL -u $MUSER -p$MPASS -h $MHOST -e “use $MDB” &>/dev/null
if [ $? -ne 0 ]
then
echo “Error – 用户名或密码无效,无法连接mysql数据库”
exit 2
fi
TABLES=$($MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e ‘show tables’ | $AWK ‘{ print $1}’ | $GREP -v ‘^Tables’ )
echo -n “$TABLES” > $DIR/tables.tmp
grep “aaa_email” tables.tmp > $DIR/tables.txt
grep “aaa_sms” tables.tmp >> $DIR/tables.txt
grep “aaa_wechat” tables.tmp >> $DIR/tables.txt
#脚本如果选在31号执行会有问题
day=`date +%d`
if [ $day -eq 31 ]
then
echo “脚本如果选在31号执行会有问题,bye!”
exit 4
fi
DATE=`date “+%Y_%m”`
DATE1=`date -d “-1 month” “+%Y_%m”`
DATE2=`date -d “-2 month” “+%Y_%m”`
DATE3=`date -d “-3 month” “+%Y_%m”`
DATE4=`date -d “-4 month” “+%Y_%m”`
DATE5=`date -d “-5 month” “+%Y_%m”`
DATE6=`date -d “-6 month” “+%Y_%m”`
echo $DATE $DATE1 $DATE2 $DATE3 $DATE4 $DATE5 $DATE6
grep -v “$DATE\|$DATE1\|$DATE2\|$DATE3\|$DATE4\|$DATE5\|$DATE6” tables.txt > $DIR/tables.del
cat tables.del
#del 6 month ago tables
for tables in `cat tables.del`;
do
echo “Deleting $tables table from $MDB database…”
$MYSQL -u $MUSER -p$MPASS -h $MHOST $MDB -e “drop table $tables”
done