定時 數據庫清理的兩個腳本:
按天刪除:
#!/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