`
totoxian
  • 浏览: 1027892 次
  • 性别: Icon_minigender_2
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

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

阅读更多

周海汉 /文

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点备份清空一次。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics