# - This script rotates the normal query-log and the slow-log files.
# Binary-log rotation is configured in /etc/mysql/debian-log-rotate.conf
# - All files should be in one block so that only one flush-logs is neccessary.
# - The error log is obsolete, messages go to syslog now.
/export/log/mysql.log /export/log/mysql/mysql.log /export/log/mysql.err /export/log/mysql/mysql.err /export/log/mysql/mysql-slow.log {
daily
size 200M
rotate 7
missingok
create 640 mysql adm
compress
sharedscripts
postrotate
test -x /usr/bin/mysqladmin || exit 0
# If this fails, check debian.conf!
export HOME=/etc/mysql/my.cnf
MYADMIN="/usr/bin/mysqladmin --defaults-file=/etc/mysql/debian.cnf"
if [ -z "`$MYADMIN ping 2>/dev/null`" ]; then
# Really no mysqld or rather a missing debian-sys-maint user?
# If this occurs and is not a error please report a bug.
if ps cax | grep -q mysqld; then
exit 1
fi
else
$MYADMIN flush-logs
fi
errlogs=`ls /export/log/mysql.err* /export/log/mysql/mysql.err* 2>/dev/null`
if [ -n "$errlogs" ]; then
chown root:adm $errlogs
chmod 640 $errlogs
fi
endscript
}