vim mysql-log-rotate
"/data/mysqlp/mysql-slow.logs" /data/mysql5.7.24/error.log {
create 600 mysql mysql
dateext
notifempty
daily
maxage 60
rotate 30
missingok
compress
olddir /data/old_log
postrotate
# just if mysqld is really running
if test -x /usr/local/mysql5.7.24/bin/mysqladmin && \
/usr/local/mysql5.7.24/bin/mysqladmin ping -uroot -pPASSWORD -S /tmp/mysql3306.sock &>/dev/null
then
/usr/local/mysql5.7.24/bin/mysqladmin flush-logs -uroot -pPASSWORD -S /tmp/mysql3306.sock
fi
endscript
}
2. 设置计划任务
# vim /etc/crontab
59 23 * * * root ( /usr/sbin/logrotate -f /home/mysql-log-rotate)
这样每天23点59分钟执行日志切割。