天天看点

删除7天以前的日志表

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