La rotation des logs MySQL est installée par défaut sur Debian:
- Durée de rétention: 7 jours
- Fréquence de la rotation: tous les jours
- Compression GZIP: oui
/etc/logrotate.d/mysql-server
/var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log {
daily
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
endscript
}
On peut vérifier que la rotation est effective.
ls -l /var/log/mysql*
donne:
-rw-r----- 1 mysql adm 0 2008-10-01 07:54 /var/log/mysql.log
-rw-r----- 1 mysql adm 20 2008-09-30 07:50 /var/log/mysql.log.1.gz
-rw-r----- 1 mysql adm 20 2008-09-29 08:01 /var/log/mysql.log.2.gz
-rw-r----- 1 mysql adm 20 2008-09-28 07:42 /var/log/mysql.log.3.gz
-rw-r----- 1 mysql adm 20 2008-09-27 07:43 /var/log/mysql.log.4.gz
-rw-r----- 1 mysql adm 20 2008-09-26 07:37 /var/log/mysql.log.5.gz
-rw-r----- 1 mysql adm 20 2008-09-25 07:40 /var/log/mysql.log.6.gz
-rw-r----- 1 mysql adm 20 2008-09-24 07:59 /var/log/mysql.log.7.gz
Follow Me!