现在的位置: 首页 > 综合 > 正文

自动备份mysql数据库,并清空log日志数据

2013年10月25日 ⁄ 综合 ⁄ 共 1357字 ⁄ 字号 评论关闭

周海汉 /文

2010.3.17

 

mysql数据库有几个表分别记录cpu等占用信息的日志,有大量记录。这些日志对于定位问题很重要,但如果没有问题,则比较多余。运维手工清除不仅麻烦,而且容易出错。因此,写一个脚本,放到crontab里,定期备份和清除日志。

 

本脚本备份systemdb和localdb两个库,并清除两个库中的表。在/var/lib/mysql中建立backup目录,脚本执行时将数据库备份到/var/lib/mysql/backup/数据库名_日期.gz

也可以在脚本中检查一下:

#check backup dir
if ! [ -d ${BCK_DIR} ]
then
        echo "${BCK_DIR} does not exist,create it..."
        mkdir ${BCK_DIR}
fi

另:

清除mysql系统log,3天前/var/log/mysql
mysql -uroot -e 'PURGE MASTER LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 3 DAY);'
#清除指定log
PURGE MASTER LOGS TO 'mysql-bin.000930';

 

定期执行脚本:

[root@server ~]# crontab -e

增加:

00 05 */3 * * /root/bcdb.sh

每3天的凌晨5点备份清空一次。

 

抱歉!评论已关闭.