logrotate

Autres langues

Langue: fr

Autres versions - même langue

Version: 93933 (fedora - 25/11/07)

Section: 8 (Commandes administrateur)

NOM

logrotate - permute, compresse, et envoie les journaux système

SYNOPSIS

logrotate [-dv] [-f|--force] [-s|--state fichier d'étatfichier_config+

DESCRIPTION

logrotate est conçu pour faciliter l'administration des systèmes qui génèrent un grand nombre de journaux. Il automatise la permutation, la compression, la suppression, et l'envoi des journaux. Chaque journal peut être traité quotidiennement, hebdomadairement, mensuellement, ou quand il devient trop volumineux.

Normalement, logrotate est lancé comme un travail quotidien de cron. Il ne modifie pas un journal plusieurs fois dans la même journée à moins que le critère ne soit basé sur la taille du journal et que logrotate ne soit lancé plusieurs fois chaque jour, ou à moins que l'option -f ou -force ne soit utilisée.

Un nombre variable de fichiers de configuration peut être donné en ligne de commande. Les derniers fichiers de configuration peuvent outrepasser les options données dans les précédents, ainsi l'ordre dans lequel les fichiers de configuration de logrotate sont listés est important. Normalement, il faudrait utiliser un unique fichier de configuration qui inclut tous les autres fichiers de configuration nécessaires. Regardez ci-dessous pour plus d'informations sur la façon d'utiliser la directive include dans ce but. Si un répertoire est donné en ligne de commande, chaque fichier de ce répertoire est utilisé comme fichier de configuration.

OPTIONS

-d
Passe en mode débugage et implique -v. En mode débugage, aucun changement ne sera fait sur les journaux ou sur le fichier d'état de logrotate.
-f, --force
Indique à logrotate de forcer la permutation, même si il n'estime pas que c'est nécessaire. Quelques fois, cela est utile après ajout de nouvelles entrées à logrotate, ou si d'anciens journaux on été supprimés à la main, les nouveaux fichier seront créés, et la journalisation continuera correctement.
-s, --state <fichier d'état>
Indique à logrotate d'utiliser un autre fichier d'état. Cela est utile si logrotate est lancé par différents utilisateurs pour des groupes de journaux distincts. Le fichier d'état par défaut est /var/lib/logrotate.status.
--usage
Affiche un court résumé du manuel, le numéro de version, et les informations légales.

FICHIER DE CONFIGURATION

logrotate lit tout à propos des journaux qu'il est censé traiter à partir de la série de fichiers de configuration spécifiée en ligne de commande. Chaque fichier de configuration peut définir des options globales (les options locales outrepassent les globales, et les dernières définitions outrepassent les précédentes) et précise le journal à permuter. Un fichier de configuration simple ressemble à :
 
 # exemple de fichier de configuration de logrotate
 errors sysadmin@my.org
 compress
 
 /var/log/messages {
     rotate 5
     weekly
     postrotate
                               /sbin/killall -HUP syslogd
     endscript
 }
 
 "/var/log/httpd/access.log" {
     rotate 5
     mail www@my.org
     errors www@my.org
     size=100k
     postrotate
                               /sbin/killall -HUP httpd
     endscript
 }
 
 /var/log/news/* {
     monthly
     rotate 2
     missingok
     errors newsadmin@my.org
     postrotate
                               kill -HUP `cat /var/run/inn.pid`
     endscript
     nocompress
 }
 

Les premières lignes définissent les options globales ; chaque erreur apparaissant durant le traitement des journaux est envoyée à sysadmin@my.org et les fichiers sont compressés après être permutés. Remarquez que les commentaires peuvent apparaître n'importe où dans le fichier de configuration à partir du moment où le premier caractère non blanc de la ligne est un #.

La section suivante du fichier de configuration décrit comment traiter le journal /var/log/messages. Le journal passera par cinq rotations hebdomadaires avant d'être supprimé. Une fois que le journal aura été permuté (mais avant que l'ancienne version du journal ne soit compressée), la commande /sbin/killall -HUP syslogd sera exécutée.

La section suivante décrit les paramètres pour /var/log/httpd/access.log. Il est permuté dès que sa taille dépasse 100 ko, et les anciens journaux sont envoyés (sans compression) à www@my.org après être passés par 5 rotations, au lieu d'être supprimés. De la même manière, toutes les erreurs apparaissant durant le traitement du journal sont envoyées à www@my.org (outrepassant la directive globale errors). Remarquez que les doubles guillemets autour du nom de fichier au début de cette section permettent à logrotate de permuter des journaux dont le nom comprend des espaces.

La dernière section décrit les paramètres pour tous les fichiers dans /var/log/news. Chaque fichier est permuté sur une base mensuelle, et les erreurs sont envoyées à newsadmin@my.org. Ceci est considéré comme une unique directive, et si des erreurs se produisent pour plus d'un fichier elle sont envoyées dans un unique message. Dans ce cas, les journaux ne sont pas compressés.

Vous trouverez ici plus d'informations sur les directives que vous pouvez inclure dans un fichier de configuration de logrotate :

compress
Compresse les anciens journaux avec gzip. Voir aussi nocompress.
copytruncate
Tronque le journal original en place après en avoir créé une copie, au lieu de déplacer l'ancien journal et optionnellement d'en créer un. Cela peut être utilisé quand il n'est pas possible de demander à un programme de fermer son journal, et par conséquent que l'écriture (l'ajout) puisse continuer sur le précédent journal. Remarquez qu'il existe une très courte période entre la copie du fichier et sa troncature, aussi des données journalisées peuvent être perdues. Quand cette option est utilisée, l'option create est sans effet, attendu que le journal reste en place.
create mode propriétaire groupe
Immédiatement après la permutation (avant que le script postrotate ne soit exécuté), un journal est créé (du même nom que le journal juste permuté). mode précise les permissions du journal en octal (de la même façon que pour chmod(2)), propriétaire précise le nom de l'utilisateur propriétaire du journal, et group précise le groupe auquel appartient le journal. Chacun des attributs du journal peut être omis, auquel cas ces attributs omis pour le nouveau journal prendront les même valeurs que pour le journal original. Cette option peut être désactivée en utilisant l'option nocreate.
daily
Les journaux sont permutés chaque jour.
delaycompress
Reporte la compression du journal précédent au prochain cycle de permutation. Ceci n'a un effet qu'utilisé en combinaison avec l'option compress. Elle peut être utilisée quand il n'est pas possible de demander à un programme de fermer son journal et qu'il puisse par conséquent continuer à écrire pour un moment dans le journal précédent.
errors adresse
Toutes les erreurs se produisant durant le traitement des journaux sont envoyées à l'adresse donnée.
extension ext
Les journaux se voient attribuer le suffixe ext après permutation. Si la compression est utilisée, le suffixe de compression (normalement .gz) apparaît après ext.
ifempty
Permute le journal même s'il est vide, outrepassant l'option notifempty (ifempty est l'option par défaut).
include fichier_ou_répertoire
Lit le fichier donné en argument comme s'il était inclus littéralement à l'endroit où la directive include apparaît. Si un répertoire est donné, la plupart des fichiers de ce répertoire sont lus avant de continuer le traitement. Les seuls fichiers ignorés sont les fichiers non réguliers (tels que les répertoires et les tubes nommés) et les fichiers dont les noms se terminent par une des extensions taboues, comme précisé par la directive tabooext. La directive include ne devrait pas apparaître dans la définition d'un fichier journal.
mail adresse
Quand un journal est permuté, il est envoyé à adresse. Si aucun mail ne devrait être généré pour un journal particulier, la directive nomail peut être utilisée.
mailfirst
Lors de l'utilisation de la commande mail, envoie le journal juste permuté, au lieu d'envoyer le journal sur le point d'expirer.
maillast
Lors de l'utilisation de la commande mail, envoie le journal sur le point d'expirer, au lieu d'envoyer le journal juste permuté (ceci est l'option par défaut).
missingok
Si le journal est manquant, continue avec le suivant sans produire de message d'erreur. Voir aussi nomissingok.
monthly
Les journaux sont permutés la première fois que logrotate est lancé dans le mois (c'est normalement le premier jour du mois).
nocompress
Les anciennes versions des journaux ne sont pas compressées avec gzip. Voir aussi compress.
nocopytruncate
Ne tronque pas le journal original en place après avoir créé une copie (ceci outrepasse l'option copytruncate).
nocreate
Les nouveaux journaux ne sont pas créés (ceci outrepasse l'option create).
nodelaycompress
Ne reporte pas la compression du journal précédent au prochain cycle de permutation (ceci outrepasse l'option delaycompress).
nomail
N'envoie aucun ancien journal.
nomissingok
Si un journal n'existe pas, produit une erreur (ceci est la valeur par défaut).
noolddir
Les journaux sont permutés dans le répertoire où ils résident normalement (ceci outrepasse l'option olddir).
notifempty
Ne permute pas le journal s'il est vide (ceci outrepasse l'option ifempty).
olddir répertoire
Les journaux sont déplacés dans répertoire pour permutation. Le répertoire doit être sur le même périphérique physique que le journal en cours de permutation. Quand cette option est utilisée, toutes les anciennes versions des journaux terminent dans répertoire. Cette option peut être outrepassée par l'option noolddir.
postrotate/endscript
Les lignes entre postrotate et endscript (chacun devant apparaître sur une ligne isolée) sont exécutées après permutation du journal. Ces directives doivent apparaîtrent dans la définition d'un journal. Voir aussi prerotate.
prerotate/endscript
Les lignes entre prerotate et endscript (chacun devant apparaître sur une ligne isolée) sont exécutées avant permutation du journal. Ces directives doivent apparaîtrent dans la définition d'un journal. Voir aussi postrotate.
rotate nombre
Les journaux sont permutés <nombre> fois avant d'être supprimés ou envoyés à l'adresse précisée dans une directive mail. Si nombre est 0, les anciennes versions sont supprimées au lieu d'être permutés.
size taille
Les journaux sont permutés quand leur taille dépasse taille octets. Si taille est suivi par M, la taille est supposée être en mégaoctets. Si k est utilisé, la taille est en kilooctets. Ainsi size 100, size 100k, et size 100M sont tous valides.
tabooext [+] liste
Change la liste courante des extensions taboues (voir la directive include pour les informations sur les expressions taboues). Si un + précède la liste d'extensions, la liste courante des expressions taboues est augmentée, sinon elle est remplacée. Au démarrage, la liste des extensions taboues contient .rpmorig, .rpmsave, .v et ~.
weekly
Les journaux sont permutés si le jour courant est plus petit que le jour de la dernière permutation ou si plus d'une semaine s'est écoulée depuis la dernière permutation. Ceci est normalement identique à permuter les journaux le premier jour de chaque semaine, mais fonctionne mieux si logrotate n'est pas lancé chaque nuit.

FICHIERS

/var/lib/logrotate.status
Fichier d'état par défaut.

VOIR AUSSI

gzip(1)

AUTEUR

 Erik Troan <ewt@redhat.com>
 
 
 

TRADUCTION

 Laurent Hugé
 
 
 

AVERTISSEMENT SUR LA TRADUCTION

Il est possible que cette traduction soit imparfaite ou périmée. En cas de doute, veuillez vous reporter au document original en langue anglaise fourni avec le programme.