使用logrotate工具切割MySQL日志与慢日志分析发送到邮箱

1.安装logrotate与percona-toolkit
yum install logrotate -y
yum install https://www.percona.com/redir/downloads/percona-release/redhat/percona-release-0.1-4.noarch.rpm
yum install percona-toolkit
2.创建logrotate配置文件
在/etc/logrotate.d/目录下新建3306_error文件

vim /etc/ogrotate.d/3306_error         
/data/mysql/3306/error.log {              #写明自己的日志文件具体位置
    monthly                                            #每月切割一次
    rotate 13                                         #保存13个日志并轮转,13个月正好能够与去年次月同比比较
    dateext                                            #切割出来的文件以 “原文件名+20171230”类似的格式命名
    compress                                       #使用gzip压缩切割出来的文件
    delaycompress                              #最近一次分割出来的文件不压缩(方便分析)
    missingok                                      #在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
    notifempty                                     #如果上次分割后未产生新日志,则不再次分割
postrotate
   mysql --login-path=3306 -e 'flush error logs;'       #切割之后执行的操作,MySQL需要执行这个命令刷新日志句柄
endscript
}

在/etc/logrotate.d/目录下新建3306_slow文件

vim /etc/logrotate.d/3306_error 
/data/mysql/3306/slow.log {
    daily
    rotate 13
    dateext    
    compress
    delaycompress
    missingok
    notifempty
postrotate
   mysql --login-path=3306 -e 'flush slow logs;'
     #使用pt-query-digest工具分析切割的慢日志并发送到邮箱
   pt-query-digest  /data/mysql/3306/slow.log-`date +%Y%m%d`|mail -s '4S_slow_log' psyduck007@outlook.com
endscript
}

3.手动切割日志
logrotate -f /etc/logrotate.d/3306_error                本文转自 angry_frog 51CTO博客,原文链接:http://blog.51cto.com/l0vesql/2047599

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值