阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

223次阅读
没有评论

共计 1172 个字符,预计需要花费 3 分钟才能阅读完成。

根据自己的需要可以对 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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143546.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计1172字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中