mysql> show tables;
+----------------+
| Tables_in_test |
| log20111127 |
| log20111128 |
| log20111129 |
| log20111130 |
| log20111201 |
| log20111202 |
| log20111203 |
| log20111204 |
| log20111205 |
| log20111206 |
| log20111207 |
11 rows in set (0.02 sec)
mysql>
这样的格式,删除7天以前的日志表。
对SQL存储过程不是太熟悉,所以用SHELL脚本写了个。
#!/bin/bash
mysql -uroot -p123456 -e "use test;show tables;" | grep -v -i 'table' > /root/table.txt
for i in $(sort -rn /root/table.txt | sed -n "/$(date +%Y%m%d -d '7 days ago')/,/end/p")
do
##mysql -uroot -p123456 -e "use test;drop table $i;"
echo $i
done
[root@vm02 ~]# ./table.sh
log20111130
log20111129
log20111128
log20111127
[root@vm02 ~]#
本文转自 liang3391 51CTO博客,原文链接:http://blog.51cto.com/liang3391/736478