Pour ceux qui se demandent comment certains fichiers de log (comme mail.log) tournent sur une installation standard de Debian, voici une petite explication. Il s'agit de tourner au sens rotation. Je précise que je me suis un peu gratté la tête en me posant la même question, car je souhaite garder certains logs sur une longue période afin d'effectuer quelques statistiques.

Il y a principalement deux mécanismes pour faire tourner les logs :

  • logrotate, avec comme fichiers de configuration /etc/logrotate.conf et les fichiers se trouvant dans /etc/logrotate.d/
  • savelog, qui est utilisé pour faire tourner les logs sauvegardés par syslog

L'utilisation de logrotate est connue et facile à maîtriser, mais je me demandais comment mail.log tournaient. Après un peu de recherche, j'ai découvert qu'il y a des travaux cron (/etc/cron.daily/sysklod et /etc/cron.weekly/sysklod) qui, en utilisant syslogd-listfiles, déterminent les fichiers de log gérés par syslogd. Ensuite, savelog est utilisé pour faire la rotation de ces fichiers. Par défaut, seules les quatre dernières semaines de logs sont sauvegardés. J'ai donc changé cela afin de pouvoir faire des statistiques sur le long terme. A noter qu'on peut changer le répertoire dans lesquels les logs sont sauvegardés afin de ne pas trop surpeupler /var/log...

Voilà, c'est tout bête, n'est-ce pas ?