Ceci est une ancienne révision du document !
Logrotate permet de limiter la taille des fichiers journaux présents dans /var/log.
Pour chaque fichier journal, logrotate réalise 2 opération simultanées :
- la rotation : il archive le fichier journal sous un autre nom et supprime la plus ancienne archive
- la compression : il compresse éventuellement le fichier journal avant de l'archiver
La rotation
Si l'on regarde le fichier syslog, on voit qu'il a d'autres fichiers avec une extension ajoutée :
~$ ls -l /var/log/syslog* -rw-r----- 1 syslog adm 45432 2011-09-24 10:12 /var/log/syslog -rw-r----- 1 syslog adm 44442 2011-09-21 19:45 /var/log/syslog.1 -rw-r----- 1 syslog adm 31536 2011-09-19 21:04 /var/log/syslog.2.gz -rw-r----- 1 syslog adm 72503 2011-09-18 15:45 /var/log/syslog.3.gz -rw-r----- 1 syslog adm 21218 2011-09-17 09:45 /var/log/syslog.4.gz -rw-r----- 1 syslog adm 10859 2011-09-16 18:28 /var/log/syslog.5.gz -rw-r----- 1 syslog adm 74381 2011-09-07 23:15 /var/log/syslog.6.gz ~$
Le fichier sans extension est le fichier en cours d'utilisation. Les archives sont numérotés de la plus récente à la plus ancienne (extensions "1", "2", "3", …).
Lors d'une nouvelle rotation, le fichier le plus ancien est supprimé puis chaque archive a un numéro d'extension qui est incrémenté. Le fichier courant qui vient d'être archivé reçoit alors l'extension "1". Un nouveau fichier journal est créé pour permettre à l'application correspondante de continuer à enregistrer ses informations.
En définissant le nombre maximum d'archives ainsi que la fréquence de rotation (journalière, hebdomadaire, mensuelle, …), on limite la taille occupée par un journal.