Dans le cas ci-dessous il est déjà en place :
Si vous tapez 'logrotate', vous devriez voir ce type d'écran :
La config se passe au niveau du fichier
/etc/logrotate.conf
De base sous mon Ubuntu V14 la config donne ceci :
# see "man logrotate" for details
# rotate log files weekly
weekly
# use the syslog group by default, since this is the owning group
# of /var/log/syslog.
su root syslog
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# uncomment this if you want your log files compressed
#compress
# packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
missingok
monthly
create 0664 root utmp
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0660 root utmp
rotate 1
}
# system-specific logs may be configured here
Lien vers le fichier : cliquez ici
/var/log/wtmp correspond à l'archivage du fichier wtmp qui enregistre toutes les connexions et déconnexions.
On peut le lire avec la commande
last -f /var/log/wtmp
/var/log/btmp est semblable à wtmp et il affiche les connexions/déconnexions au système.
On peut le lire avec la commande
lastb -f /var/log/btmp
On voit qu'il y a une prise en compte de tous les fichiers de configuration situés dans /etc/logrotate.d
via cette ligne :
# packages drop log rotation information into this directory
include /etc/logrotate.d
/etc/logrotate.d contient plusieurs fichiers de configuration dont rsyslog
Et rsyslog prend en charge la rotation de plusieurs logs, dont
/var/log/syslog et /var/log/messages
Donc, si vous voulez modifier la rotation de /var/log/syslog
Il ne faut pas modifier la configuration de /etc/logrotate.conf
mais de /etc/logrotate.d/rsyslog
Imaginons que vous voulez mettre en place une rotation pour le fichier /var/log/iptables.log
alors une solution propre est de créer un fichier iptables dans /etc/logrotate.d
Voici un exemple de contenu
/var/log/iptables.log
{
rotate 7
daily
compress
delaycompress
missingok
notifempty
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Lien vers le fichier : cliquez ici
Explications des paramètres
nocompress permet lui de ne pas compresser le fichier
size 100M limite la taille du fichier à 100Mb
Le contrôle de l'heure de la dernière rotation d'un fichier se fait avec la commande
cat /var/lib/logrotate/status
Lien vers le fichier : cliquez ici
Prise en compte des modifications
Logrotate n'est pas un service. Il utilise crontab.
Aussi il n'y a rien à faire pour prendre en compte des modifications.
Par défaut un schedule journalié doit exister sous /etc/cron.daily
On peut le voir avec
cat /etc/cron.daily/logrotate
Lien vers le fichier : cliquez ici
Son contenu est
#!/bin/sh
/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
Lien vers le fichier : cliquez ici
Si vous voulez des déclenchements particuliers, il faut les programmer. Exemple pour un déclenchement tous les jours à 14H :
0 2 * * * root /usr/sbin/logrotate /etc/custom-logrotate.conf
Lien vers le fichier : cliquez ici
On peut voir quand a eu lieu le dernier déclenchement avec
cat /var/lib/logrotate/logrotate.status
Lien vers le fichier : cliquez ici
On peut forcer une exécution de logrotate et de sa conf avec
sudo logrotate /etc/logrotate.conf --verbose --force
Lien vers le fichier : cliquez ici
Pages Web
Site Web | Description |
---|---|
Doc.ubuntu-fr.org | Fiche de Logrotate sur doc.ubuntu-fr.org |
Article(s) précédent(s)