1.安装logrotate与percona-toolkityum 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