using lilnux logrotate to remove and rotate the log files.
1. crontab jobs
## rotate slow query log ##
30 1 1 * * /usr/sbin/logrotate -f /root/mysql-log-rotate 2>&1
2. the content of mysql-log-rotate
[root]~# more /root/mysql-log-rotate
# This logname can be set in /etc/my.cnf
# by setting the variable "err-log"
# in the [safe_mysqld] section as follows:
#
# [safe_mysqld]
# err-log=/var/lib/mysql/mysqld.log
#
# If the root user has a password you have to create a
# /root/.my.cnf configuration file with the following
# content:
#
# [mysqladmin]
# password =
# user= root
#
# where "" is the password.
#
# ATTENTION: This /root/.my.cnf should be readable ONLY
# for root !
/data/dblogs/mddb/slow-query.log {
# create 600 mysql mysql
notifempty
monthly
rotate 3
missingok
compress
postrotate
# just if mysqld is really running
if test -x /usr/bin/mysqladmin && \
/usr/bin/mysqladmin ping &>/dev/null
then
/usr/bin/mysqladmin -usupport -pXXXXX flush-logs
fi
endscript
}
No Comments. I want to comment on it