Linux下使用Logrotate对MySQL日志进行轮转备份

 

 

首页数据库技术

背景:

阅读新闻

Linux下使用Logrotate对MySQL日志进行轮转备份

[日期:2017-05-08]   来源:Linux社区  作者:yangchaoaccp   [字体:]  

根据自己的需要可以对MySQL的相关日志文件(错误日志、通用查询日志文件和慢查询日志文件)进行按天的转储,并只保留指定天数的备份文件,下面是一个例子:

1)、安装 crond 服务 (如果未安装  yum install logrotate crontabs)
rpm  -qa  |  grep crontabs
yum  install  crontabs
chkconfig  crond  --list  #如果未设置为自动重启这执行如下命令修改
chkconfig  crond  on
service  crond  restart

2)、创建MySQL root密码文件
vi /root/.my.cnf
[mysqladmin] 
user = sysadmin
password = mysql 
chmod 600 /root/.my.cnf


3)、把mysql-log-rotate拷贝至/etc/logrotate.d目录下,修改其内容为:
# mysql_error.log        错误日志文件
# mysql_general.log    通用查询日志文件
# mysql_slow.log        慢查询日志文件
/app/mysql/mysql3306/logs/mysql_error.log
/app/mysql/mysql3306/logs/mysql_general.log
/app/mysql/mysql3306/logs/mysql_slow.log {
      # create 600 mysql mysql
      notifempty
      daily
      rotate 5
      copytruncate
      nocreate
      missingok
      compress
      dateext
  postrotate
# just if mysqld is really running
if test -x /app/mysql/mysql3306/bin/mysqladmin && \
  /app/mysql/mysql3306/bin/mysqladmin ping &>/dev/null
then
  /app/mysql/mysql3306/bin/mysqladmin flush-logs
fi
  endscript
}

4)执行以下命令以测试是否配置正确
/usr/sbin/logrotate -f /etc/logrotate.d/mysql-log-rotate 
注:需要查看已备份压缩文件这执行 gunzip  file_name.gz  即可


5)定时执行 (每天凌晨执行)
# vim /etc/crontab
59 23 * * * root /usr/sbin/logrotate -f /etc/logrotate.d/mysql-log-rotate

本文永久更新链接地址

CentOS下Zabbix监控MySQL 5.6主从详解

Oracle MERGE语句使用简述

相关资讯       logrotate 

   

本文评论   查看全部评论 (0)


评论声明

尊重网上道德,遵守中华人民共和国的各项有关法律法规

承担一切因您的行为而直接或间接导致的民事或刑事法律责任

本站管理人员有权保留或删除其管辖留言中的任意内容

本站有权在网站内转载或引用您的评论

参与本评论即表明您已经阅读并接受上述条款

 

 

 

最新资讯

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/67be79182049a781ae44e65714d0a4b2.html