107,830
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
mkdir /etc/logrotate.d/mysql
touch /etc/logrotate.d/mysql/mysql-log-rotate
/opt/mysql/logs/mysql_slow.log {
create 600 mysql mysql
dateext
notifempty
daily
#保留2个月
maxage 60
#保留30份日志
rotate 30
missingok #日志丢失错误忽略,继续
compress
olddir /opt/mysql/logbak/
postrotate
# just if mysqld is really running
if test -x /opt/mysql/bin/mysqladmin && \
/opt/mysql/bin/mysqladmin ping -uroot -p123456 ./ -S /tmp/mysql.sock &>/dev/null
then
/opt/mysql/bin/mysqladmin flush-logs -uroot -p123456 ./ -S /tmp/mysql.sock
fi
endscript #与postrotate配对使用
}
完成后设置计划任务:
59 23 * /usr/sbin/logrotate -f mysql-log-rotate #每天23:59进行日志分割