TUTOS.EU

Installation de Logrotate sous Linux

Comment installer de Logrotate sous Linux

Pour installer logrotate, tapez

sudo apt-get install logrotate
Lien vers le fichier : cliquez ici

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

 

Pour cela taper

sudo nano /etc/logrotate.d/iptables
Lien vers le fichier : cliquez ici

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

  • /var/log/iptables.log est le fichier est traiter
  • rotate 7 veut dire qu'à chaque rotation, on conserve 7 jours
  • daily veut dire que l'on fait une rotation par jour
  • compress permet de compresser le fichier au format gzip
  • delaycompress retarde le processus de compression jusqu'à la prochaine rotation
  • missingok ne bloque pas le processus si une erreur est rencontrée
  • notifempty ne fait pas de rotation si le fichier est vide

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.

Un déclenchement manuel se ferai à priori avec

cat /var/lib/logrotate/status
Lien vers le fichier : cliquez ici

Pages Web

Site WebDescription
Doc.ubuntu-fr.orgFiche de Logrotate sur doc.ubuntu-fr.org

Article(s) précédent(s)