天天看點

删除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