定时 数据库清理的两个脚本:
按天删除:
#!/bin/bash ndate=3 datestr=`date -d "-$ndate day" +%Y-%m-%d` #生成ndate天前的日期,如: echo $datestr delSqlStr="DELETE FROM xxxx WHERE GeneDate = '$datestr'" #SQL语句 mysql -uxxx -pxxxx database -e "$delSqlStr" #执行SQL语句
按照具体时间删除:
#!/bin/bash datestr=$(date -d "72 hour ago" +"%Y-%m-%d %H:%M") #生成ndate天前的日期,如: echo $datestr delSqlStr="DELETE FROM xxxx WHERE insertTime < '$datestr'" #SQL语句 mysql -uxxx -pxxx database -e "$delSqlStr" #执行SQL语句
crontab的设置:
0 3 * * * cd /home/dir && ./deletedbdata.sh 0 4 * * * cd /home/dir && ./deletedbdata2.sh 0 5 * * * cd /home/dir && ./deletedbdata3.sh 0 6 * * * cd /home/dir && ./deletedbdata4.sh