shell定时删除数据库中分表产生的表

mac2026-02-16  10

因为公司的日志表每天产生很多数据,每晚24点会进行分表,表名为api_error_log+日期,因此写了一个脚本定时清理.不然天天磁盘报警太烦了

/opt/daily_drop.sh内容如下

months_ago=`date -d "-2 month" +"%Y-%m-%d"` echo $months_ago /usr/bin/mysql -uroot -p123456 -h192.168.10.108  -e"    SELECT TABLE_NAME   FROM  information_schema.TABLES  where table_name LIKE 'api_error\_log\_%'  AND  create_time <='$months_ago 00:00:00' AND TABLE_SCHEMA='pdabc' ; quit" |grep -v 'table_name' >/opt/log.txt echo "1" for i in `cat /opt/log.txt`; do     echo $i     echo 2     echo /usr/bin/mysql -uroot -p123456 -h192.168.10.108  -e "use pdabc; drop table $i;"     echo 3     /usr/bin/mysql -uroot -p123456 -h192.168.10.108  -e "use pdabc; drop table $i;" done

 

 

最新回复(0)