shell脚本实现删除过期数据库中的数据

来源:互联网 发布:万方数据库免费入口 编辑:程序博客网 时间:2024/05/16 13:41

一个应用系统每天都需不间断的向数据库中插入数据,而对于很早之前的数据一般都需要从数据库中清理,防止数据量无限增大,耗费存储和影响数据查询效率。

通过两个文件实现,一个文件为配置文件,一个为脚本文件。

本示例为删除数据库中180天(时间可在配置文件中修改)前的数据。

说明:示例中表格名称为Talarm,InsertTime字段为插入数据的时间(内容格式为:2016-11-06 19:36:00)

1)配置文件:dbinfo.conf

ndate=180   #设置天数dbuser=root     #数据库账号dbpassword=123456  #数据库密码dbname=testdb  #数据库名称
2)脚本文件:deletedbdata.sh

#!/bin/bash. dbinfo.conf #读取配置文件 datestr=`date -d "-$ndate day" +%Y-%m-%d` #生成ndate天前的日期,如:2016-07-19 delSqlStr="DELETE FROM Talarm WHERE InsertTime <'$datestr'" #SQL语句mysql -u$dbuser -p$dbpassword $dbname -e "$delSqlStr"  #执行SQL语句

3)运行脚本文件

[root@localhost tmp]# ./deletedbdata.sh


0 0