LOGROTATE
Table des matières
Retour à l'index
NOM
logrotate — faire tourner, compresser et envoyer les journaux système
SYNOPSIS
logrotate [--force] [--debug] [--state fichier]
[--skip-state-lock] [--wait-for-state-lock] [--verbose] [--log
fichier] [--mail commande] fich_conf [fich_conf2 ...]
DESCRIPTION
logrotate est conçu pour faciliter l'administration des systèmes qui
génèrent un grand nombre de journaux. Il automatise la rotation, 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é en tant que tâche quotidienne de
cron(8). Il ne modifie pas un journal plusieurs fois dans la même journée
à moins que le critère pour ce journal ne soit basé sur sa taille et que
logrotate ne soit lancé plusieurs fois par jour, ou à moins que l'option
-f ou --force ne soit utilisée.
La ligne de commande peut spécifier plusieurs fichiers de configuration. Les
derniers fichiers de configuration peuvent outrepasser les options données
dans les précédents, si bien que l'ordre dans lequel les fichiers de
configuration de logrotate sont spécifiés est important. Normalement, il
faudrait utiliser un unique fichier de configuration qui inclurait tous les
autres fichiers de configuration nécessaires. Pour ce faire, voir ci-dessous
pour plus d'informations sur la façon d'utiliser la directive include. Si
la ligne de commande spécifie un répertoire, chaque fichier que ce dernier
contient sera utilisé comme fichier de configuration.
Si la ligne de commande ne comporte aucun argument, logrotate affiche les
informations de version et de copyright, ainsi qu'une aide succincte. Si une
erreur survient pendant la rotation des journaux, logrotate quittera avec
un statut différent de zéro, bien que le fichier d'état soit mis à jour.
OPTIONS
- -f, --force
-
Demander à logrotate de forcer la rotation, même s'il ne l'estime pas
nécessaire. Cela peut parfois s'avérer utile après l'ajout de nouvelles
entrées à un fichier de configuration de logrotate, ou si d'anciens
journaux ont été supprimés à la main, auquel cas les nouveaux fichiers
seront créés, et la journalisation continuera correctement.
- -d, --debug
-
Passer en mode débogage, ce qui signifie que les journaux ne seront pas
modifiés et que le fichier d'état de logrotate ne sera pas mis à
jour. Les messages de débogage seront seulement affichés.
- -s, --state fich_état
-
Demander à logrotate d'utiliser un autre fichier d'état, ce qui peut
s'avérer utile si logrotate est lancé par différents utilisateurs pour
des groupes de fichiers journaux distincts. Pour prévenir une exécution
parallèle, logrotate va tenter par défaut d'obtenir un verrouillage du
fichier d'état ; s'il n'y parvient pas, logrotate quittera avec un statut
de 3. Le fichier d'état par défaut est /var/lib/logrotate.status. Si
/dev/null est spécifié comme fichier d'état, logrotate ne tentera ni
d'écrire dans le fichier d'état, ni de le verrouiller.
- --skip-state-lock
-
Ne pas verrouiller le fichier d'état, par exemple si le verrouillage est
interdit ou non pris en charge.
- --wait-for-state-lock
-
Attendre que le verrouillage du fichier d'état soit effectué par un autre
processus logrotate. Avec cette option, logrotate peut attendre
indéfiniment, et il faut donc l'utiliser avec précaution.
- -v, --verbose
-
Passer en mode affichage détaillé, par exemple pour afficher des messages
pendant la rotation.
- -l, --log fichier
-
Demander à logrotate d'enregistrer une sortie détaillée dans le fichier
journal. Cette sortie détaillée est la même que celle qui est affichée
lorsque logrotate est lancé avec l'option -v. Le fichier journal est
écrasé à chaque exécution de logrotate.
- -m, --mail commande
-
Indiquer à logrotate quelle commande utiliser pour envoyer les
journaux. Cette commande doit comporter les arguments suivants :
-
1) le sujet du message sous la forme « -s sujet »
2) le destinataire.
-
La commande doit ensuite lire un message sur l'entrée standard et l'envoyer
au destinataire. La commande d'envoi par défaut est /usr/bin/mail.
- --usage
-
Afficher des informations d'utilisation succinctes.
- -?, --help
-
Afficher l'aide.
- --version
-
Afficher les informations de version.
FICHIER DE CONFIGURATION
logrotate obtient toutes les informations à propos des journaux qu'il est
censé traiter à partir de la liste 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 spécifier les journaux à faire
tourner. Les options globales n'affectent pas les directives d'inclusion qui
les précèdent. Un fichier de configuration simple ressemblera à ceci :
# exemple de fichier de configuration de logrotate
compress
/var/log/messages {
rotate 5
weekly
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail destinataire@example.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}
/var/log/news/* {
monthly
rotate 2
olddir /var/log/news/old
missingok
sharedscripts
postrotate
kill -HUP $(cat /var/run/inn.pid)
endscript
nocompress
}
~/log/*.log {}
Les premières lignes définissent les options globales ; dans cet exemple,
les journaux sont compressés après leur rotation. Remarquez que les
commentaires peuvent apparaître n'importe où dans le fichier de
configuration à partir du moment où le premier caractère de la ligne autre
qu'une espace est un croisillon #.
Les valeurs sont séparées des directives par une espace ou un =
optionnel. Les nombres doivent être spécifiés dans un format pris en charge
par strtoul(3).
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é. Après la rotation du journal (mais
avant que l'ancienne version du journal ne soit compressée), la commande
/usr/sbin/killall -HUP syslogd sera exécutée.
La section suivante définit les paramètres pour les journaux
/var/log/httpd/access.log et /var/log/httpd/error.log. Leur rotation
intervient dès que leur taille dépasse 100 ko, et les anciens journaux sont
envoyés (sans compression) à destinataire@example.org après être passés
par 5 rotations, au lieu d'être supprimés. sharedscripts signifie que le
script postrotate ne sera exécuté qu'une seule fois et non à chaque
rotation d'un journal. Remarquez que les noms des fichiers journaux peuvent
être entourés de guillemets (et qu'ils doivent l'être s'ils contiennent
des espaces). Les règles normales de mise entre guillemets de l'interpréteur
de commande s'appliquent, les caractères ', " et \ étant pris en
charge.
La section suivante définit les paramètres pour tous les fichiers dans
/var/log/news. La rotation de chaque fichier s'effectue sur une base
mensuelle
La dernière section utilise l'expansion du tilde ~ pour faire tourner les
fichiers journaux situés dans le répertoire personnel de l'utilisateur
actuel. Cette configuration n'est valable que si votre bibliothèque glob
prend en charge l'expansion du tilde, ce qui est le cas pour GNU glob.
Utilisez les caractères génériques avec précaution. Si vous spécifiez *,
logrotate fera tourner tous les fichiers, y compris ceux qui viennent de
tourner. Pour contourner ce problème, vous pouvez utiliser la directive
olddir ou un nom générique plus restrictif (comme *.log).
Notez que lorsqu'on utilise systemd(1), l'option ProtectSystem=full
est définie par défaut dans le fichier logrotate.service, ce qui empêche
logrotate de modifier les journaux situés dans /etc et /usr.
Vous trouverez ci-après plus d'informations sur les directives qui peuvent
être définies dans un fichier de configuration de logrotate :
DIRECTIVES DU FICHIER DE CONFIGURATION
Un fichier de configuration de logrotate peut contenir les directives
suivantes :
Rotation
- rotate nombre
-
Les journaux sont mis en rotation nombre fois avant d'être supprimés ou
envoyés à l'adresse précisée dans une directive mail. Si nombre est
égal à 0, les anciennes versions sont supprimées au lieu d'être mises en
rotation. Si nombre est égal à -1, les anciens journaux ne sont pas
supprimés, à moins qu'ils ne soient affectés par maxage (utiliser avec
précaution, risque de dégradation des performances et de l'espace
disque). nombre a pour valeur par défaut 0.
- olddir répertoire
-
Les journaux sont déplacés dans répertoire pour rotation. Le
répertoire doit être sur le même périphérique physique que le journal en
cours de rotation, sauf si une des directives copy, copytruncate ou
renamecopy est spécifiée. répertoire est supposé relatif au répertoire
contenant le fichier journal, sauf si un chemin absolu est spécifié. Quand
cette directive est utilisée, toutes les anciennes versions des journaux
finissent dans répertoire. Cette directive peut être outrepassée par la
directive noolddir.
- noolddir
-
Les journaux sont mis en rotation dans le répertoire dans lequel ils
résident normalement (cette directive outrepasse la directive olddir).
- su utilisateur groupe
-
Faire tourner le jeu de fichiers journaux sous l'utilisateur et le groupe
spécifiés au lieu de l'utilisateur/groupe par défaut (en général
root). utilisateur et groupe spécifient respectivement
l'utilisateur et le groupe utilisés pour la rotation (voir la section
UTILISATEUR ET GROUPE pour les détails). Si l'utilisateur/groupe que vous
avez spécifié ici ne possède pas de privilèges suffisants pour créer des
fichiers avec l'appartenance que vous avez spécifiée dans une directive
create, une erreur sera générée. Si logrotate s'exécute avec les
privilèges de root, il est conseillé d'utiliser la directive su pour
faire tourner les fichiers dans les répertoires qui sont directement ou
indirectement sous contrôle d'utilisateurs non privilégiés.
Fréquence
- hourly
-
Les fichiers journaux sont mis en rotation toutes les heures. Notez qu'en
général, logrotate est configuré pour être exécuté par cron(8)
quotidiennement (ou par logrotate.timer lorsqu'on utilise
systemd(1)). Vous devez modifier cette configuration et exécuter
logrotate toutes les heures pour pouvoir effectivement faire tourner les
journaux toutes les heures.
- daily
-
Les fichiers journaux sont mis en rotation tous les jours
- weekly [jour_de_la_semaine]
-
Les fichiers journaux sont mis en rotation une fois chaque
jour_de_la_semaine, ou si la date actuelle est postérieure d'au
moins 7 jours à la date de la dernière rotation (tout en ignorant l'écart
exact). L'interprétation de jour_de_la_semaine est la suivante :
0 signifie dimanche, 1 signifie lundi, ..., 6 signifie
samedi ; la valeur spéciale 7 signifie « tous les 7 jours », sans
tenir compte du jour de la semaine. Si l'argument jour_de_la_semaine est
omis, sa valeur par défaut est 0.
- monthly
-
Les fichiers journaux sont mis en rotation à la première exécution de
logrotate au cours du mois (en général le premier jour du mois).
- yearly
-
Les fichiers journaux sont mis en rotation si l'année actuelle est
différente de l'année de la dernière rotation.
- size taille
-
Les fichiers journaux ne sont mis en rotation que s'ils dépassent taille
octets. Si taille est suivie de k, M ou G, la taille sera
respectivement en ko, Mo ou Go. Ainsi, les directives size 100,
size 100k, size 100M et size 100G sont toutes valables. Cette
directive et les directives d'intervalle de temps sont mutuellement
exclusives ; cette directive fait tourner les fichiers journaux sans tenir
compte de la date de la dernière rotation, dans la mesure où elle a été
spécifiée après le critère de temps (la dernière directive spécifiée
l'emporte sur les précédentes).
Sélection de fichiers
- missingok
-
Si le fichier journal est manquant, continuer avec le suivant sans afficher
de message d'erreur. Voir aussi nomissingok.
- nomissingok
-
Si un fichier journal n'existe pas, afficher une erreur (c'est le
comportement par défaut).
- ignoreduplicates
-
Ignorer toutes les correspondances suivantes d'un fichier journal.
- ifempty
-
Faire tourner le fichier journal même s'il est vide en outrepassant la
directive notifempty (ifempty est la directive par défaut).
- notifempty
-
Ne pas faire tourner le fichier journal s'il est vide (outrepasse la
directive ifempty).
- minage nombre
-
Ne pas faire tourner les fichiers journaux qui datent de moins de
<nombre> jours.
- maxage nombre
-
Supprimer les fichiers journaux ayant subi une rotation et qui datent de
plus de <nombre> jours. L'âge n'est vérifié que si le fichier
journal doit être mis en rotation. rotate -1 n'empêche pas la
suppression. Les fichiers sont envoyés à l'adresse spécifiée si maillast
et mail sont définies.
- minsize taille
-
Les fichiers journaux sont mis en rotation s'ils dépassent taille octets,
mais pas avant l'intervalle de temps par ailleurs spécifié (daily,
weekly, monthly ou yearly). La directive apparentée size est
similaire, excepté qu'elle est mutuellement exclusive avec les directives
d'intervalle de temps et qu'elle fait tourner les fichiers journaux sans
tenir compte de la date de dernière rotation, sous réserve qu'elle ait été
spécifiée après le critère de temps (la dernière directive spécifiée
l'emporte sur les précédentes). Lorsque minsize est définie, la taille et
l'âge d'un fichier journal sont pris en compte.
- maxsize taille
-
Les fichiers journaux sont mis en rotation s'ils dépassent taille octets,
même avant l'intervalle de temps par ailleurs spécifié (daily, weekly,
monthly ou yearly). La directive apparentée size est similaire,
excepté qu'elle est mutuellement exclusive avec les directives d'intervalle
de temps et qu'elle fait tourner les fichiers journaux sans tenir compte de
la date de dernière rotation, sous réserve qu'elle ait été spécifiée après
le critère de temps (la dernière directive spécifiée l'emporte sur les
précédentes). Lorsque maxsize est définie, la taille et l'âge d'un
fichier journal sont pris en compte.
- tabooext [+] liste
-
La liste actuelle des extensions taboues est modifiée (voir la directive
include pour des informations sur les extensions taboues). Si un +
précède la liste d'extensions, la liste actuelle des extensions taboues est
augmentée, sinon elle est remplacée. Au démarrage, la liste des extensions
taboues contient ,v, .bak, .cfsaved, .disabled, .dpkg-bak,
.dpkg-del, .dpkg-dist, .dpkg-new, .dpkg-old, .dpkg-tmp,
.new, .old, .orig, .rhn-cfg-tmp-*, .rpmnew, .rpmorig,
.rpmsave, .swp, .ucf-dist, .ucf-new, .ucf-old, ~
- taboopat [+] liste
-
La liste actuelle des motifs à caractères génériques tabous est modifiée
(voir la directive include pour des informations sur les extensions et
les motifs tabous). Si un + précède la liste de motifs, la liste actuelle
des motifs tabous est augmentée, sinon elle est remplacée. Au démarrage, la
liste des motifs tabous est vide.
Fichiers et répertoires
- create mode propriétaire groupe, create propriétaire groupe
-
Le fichier journal est créé immédiatement après la rotation (avant
l'exécution du script postrotate et avec le même nom que le fichier
journal qui vient d'être mis en rotation). mode spécifie les droits du
fichier journal en octal (tels que spécifiés à l'aide de chmod(2)),
owner spécifie l'utilisateur qui sera propriétaire du fichier journal et
group spécifie le groupe auquel appartiendra le fichier journal (voir la
section UTILISATEUR ET GROUPE pour les détails). Un ou plusieurs
attributs du fichier journal peuvent être omis, auquel cas ces attributs
prendront comme valeur par défaut la valeur qu'ils avaient dans le fichier
journal original. Cette directive peut être désactivée par la directive
nocreate.
- nocreate
-
Les nouveaux fichiers journaux ne sont pas créés (outrepasse la directive
create).
- createolddir mode [propriétaire [groupe]], createolddir [propriétaire [groupe]]
-
Si le répertoire spécifié à l'aide de la directive olddir n'existe pas,
il est créé. mode spécifie les droits du répertoire olddir en octal
(tels que spécifiés à l'aide de chmod(2)), owner spécifie
l'utilisateur qui sera propriétaire du répertoire olddir et group
spécifie le groupe auquel appartiendra le répertoire olddir (voir la
section UTILISATEUR ET GROUPE pour les détails). Si mode n'est pas
spécifié, 0755 est supposé. Cette directive peut être désactivée en
utilisant la directive nocreateolddir.
- nocreateolddir
-
Le répertoire olddir n'est pas créé par logrotate lorsqu'il n'existe
pas.
- copy
-
Faire une copie du fichier journal, mais ne pas modifier le fichier
original. Cette directive permet, par exemple, de générer un instantané du
fichier journal actuel, ou à un autre utilitaire de tronquer ou analyser le
fichier. Si cette directive est utilisée, la directive create n'aura
aucun effet, car l'ancien fichier journal reste à sa place. La directive
copy permet, à l'aide de la directive olddir, de stocker sur divers
périphériques les fichiers journaux mis en rotation.
- nocopy
-
Ne pas copier le fichier journal original et le laisser à sa place (cette
directive outrepasse la directive copy).
- copytruncate
-
Au lieu de déplacer le fichier journal original et d'en créer éventuellement
un nouveau, le tronquer à une taille de zéro à sa place après en avoir
effectué une copie. Cette directive peut être utilisée lorsqu'on ne peut
demander à un programme de fermer son fichier journal, ce programme
continuant alors à écrire (en mode ajout) indéfiniment dans le fichier
journal précédent. Notez qu'il y a un très petit laps de temps entre la
copie du fichier et sa troncature, et qu'il y a donc un risque de perte de
données de journalisation. Si cette directive est utilisée, la directive
create n'aura aucun effet, car l'ancien fichier journal reste en
place. La directive copytruncate permet de stocker les fichiers journaux
mis en rotation sur divers périphériques en utilisant la directive
olddir. La directive copytruncate implique la directive
norenamecopy.
- nocopytruncate
-
Ne pas tronquer le journal original en place après en avoir créé une copie
(outrepasse la directive copytruncate).
- renamecopy
-
Le fichier journal est renommé avec un nom temporaire dans le même
répertoire en lui ajoutant l'extension « .tmp ». Ensuite, le script
postrotate est exécuté et le fichier journal est copié depuis le fichier
de nom temporaire vers le fichier de nom final. Enfin, le fichier de nom
temporaire est supprimé. La directive renamecopy permet de stocker les
fichiers journaux mis en rotation sur divers périphériques en utilisant la
directive olddir. La directive renamecopy implique la directive
nocopytruncate.
- norenamecopy
-
Ne pas renommer ni copier le fichier journal original (outrepasse la
directive renamecopy).
- shred
-
Supprimer les fichiers journaux en utilisant shred -u à la place de
unlink(), ce qui permet de s'assurer que les journaux ne seront pas
lisibles après leur suppression ; cette directive est à off par
défaut. Voir aussi noshred.
- noshred
-
Ne pas utiliser shred pour supprimer les anciens fichiers journaux. Voir
aussi shred.
- shredcycles nombre
-
Demander à GNU shred(1) d'écraser les fichiers journaux nombre fois
avant suppression. Sans cette directive, c'est la valeur par défaut de
shred qui sera utilisée.
- allowhardlink
-
Faire tourner les fichiers avec plusieurs liens physiques ; cette directive
est à off par défaut. Le fichier cible peut être vidé à l'aide, par
exemple, de shred ou copytruncate. À utiliser avec précaution, en
particulier lorsque les fichiers journaux sont mis en rotation en tant que
root.
- noallowhardlink
-
Ne pas faire tourner les fichiers avec plusieurs liens physiques. Voir aussi
allowhardlink.
Compression
- compress
-
Les anciens fichiers journaux sont compactés avec gzip(1) par
défaut. Voir aussi nocompress.
- nocompress
-
Les anciennes versions des fichiers journaux ne sont pas compactées. Voir
aussi compress.
- compresscmd
-
Spécifier la commande à utiliser pour compacter les fichiers journaux (par
défaut gzip(1)). Voir aussi compress.
- uncompresscmd
-
Spécifier la commande à utiliser pour décompacter les fichiers journaux. Le
programme de décompactage par défaut est gunzip(1).
- compressext
-
Spécifier l'extension à ajouter aux fichiers journaux compactés si le
compactage est activé. L'extension par défaut correspond à celle spécifiée
dans la commande de compactage.
- compressoptions
-
Des options de ligne de commande peuvent être transmises au programme de
compactage si on en utilise un. L'option par défaut pour gzip(1) est
« -6 » (ce qui implique un haut niveau de compression au détriment de la
vitesse d'exécution). Si vous utilisez une commande de compression
différente, vous devrez peut-être modifier les compressoptions en
conséquence.
- delaycompress
-
Reporter le compactage du fichier journal précédent au prochain cycle de
rotation. Cette directive n'a d'effet que si elle est utilisée en
combinaison avec la directive compress. Elle peut être utilisée quand il
n'est pas possible de demander à un programme de fermer son journal, ce
programme pouvant par conséquent continuer à écrire pendant un moment dans
le fichier journal précédent.
- nodelaycompress
-
Ne pas reporter le compactage du fichier journal précédent au prochain cycle
de rotation (outrepasse la directive delaycompress).
Noms de fichier
- extension ext
-
Les fichiers journaux possédant l'extension ext peuvent la conserver
après leur rotation. Si le compactage est utilisé, le suffixe de compactage
(normalement .gz) apparaît après ext. Par exemple, vous pourriez
vouloir faire tourner un fichier journal mylog.foo en mylog.1.foo.gz
au lieu de mylog.foo.1.gz.
- addextension ext
-
Donner aux fichiers journaux l'extension finale ext après leur
rotation. Si le fichier original a déjà pour extension ext, l'extension
n'est pas dupliquée mais simplement déplacée vers la fin du nom du fichier ;
autrement dit, nom_fichier et nom_fichierext seront tous deux mis
en rotation vers nom_fichier.1ext. Si on utilise le compactage, le
suffixe de compactage (normalement .gz) apparaîtra après ext.
- start nombre
-
C'est le nombre à utiliser comme base pour la rotation. Si vous spécifiez
0 par exemple, les journaux seront créés avec une extension .0 au
moment de leur rotation depuis les fichiers journaux originaux. Si vous
spécifiez 9, les journaux seront créés avec une extension .9 en
sautant les valeurs 0 à 8, mais les fichiers seront tout de même mis
en rotation le nombre de fois spécifié à l'aide de la directive rotate.
- dateext
-
Archiver les anciennes versions des fichiers journaux en ajoutant une
extension de date comme AAAAMMJJ au lieu d'un simple nombre. Le format de
l'extension peut être configuré en utilisant les directives dateformat et
dateyesterday.
- nodateext
-
Ne pas archiver les anciennes versions des fichiers journaux avec une
extension de date (outrepasse la directive dateext).
- dateformat chaine_formatage
-
Configurer l'extension pour dateext en utilisant une notation similaire à
celle de la fonction strftime(3). Seuls sont permis les spécificateurs %Y
%m %d %H %M %S %V %s et %z. Le format par défaut est « -%Y%m%d », sauf pour
les rotations à chaque heure qui utilisent « -%Y%m%d%H » comme format par
défaut. Notez que le caractère séparant le nom du journal de l'extension
fait aussi partie de la chaîne de formatage de date. L'horloge système doit
être réglée sur une date postérieure au 9 septembre 2001 pour un
fonctionnement correct de %s. Notez que les horodatages générés par ce
format doivent être lexicalement adaptés au tri (c'est-à-dire l'année en
premier, puis le mois et enfin le jour. Par exemple, 2001/12/01 est valable,
mais 01/12/2001 ne l'est pas, car 01/11/2002 serait considéré comme
antérieur, alors que ce n'est pas le cas). La raison de cette règle de
format réside dans le fait que lorsqu'on utilise la directive rotate,
logrotate trie tous les noms de fichiers déjà mis en rotation pour
déterminer lesquels sont les plus anciens et doivent être supprimés.
- dateyesterday
-
Utiliser la date de la veille au lieu de la date du jour pour créer
l'extension dateext, de façon que le fichier journal mis en rotation ait
une date dans son nom qui corresponde aux horodatages qu'il contient.
- datehourago
-
Utiliser l'heure précédente au lieu de l'heure courante pour créer
l'extension dateext, de façon que le fichier journal mis en rotation ait
une heure dans son nom qui corresponde aux horodatages qu'il contient. À
utiliser avec les rotations toutes les heures.
Messagerie
- mail adresse
-
Quand un journal est mis en rotation pour être supprimé, il est envoyé à
adresse. La directive nomail permet d'indiquer qu'aucun mail ne doit
être généré pour un journal particulier
- nomail
-
Ne pas envoyer les anciens fichiers journaux.
- mailfirst
-
Lors de l'utilisation de la commande mail, envoyer le journal qui vient
d'être mis en rotation au lieu d'envoyer le journal sur le point d'expirer.
- maillast
-
Lors de l'utilisation de la commande mail, envoyer le journal sur le
point d'expirer au lieu d'envoyer le journal qui vient d'être mis en
rotation (comportement par défaut).
Fichiers de configuration supplémentaires
- include fichier_ou_répertoire
-
Lire le fichier donné en argument comme s'il était inséré là où la directive
include apparaît. Si c'est un répertoire qui est donné, la plupart des
fichiers de ce répertoire sont lus par ordre alphabétique avant de continuer
le traitement d'inclusion des fichiers. Les seuls fichiers ignorés sont les
fichiers non standards (tels que les répertoires et les tubes nommés) et les
fichiers dont les noms se terminent par une extension ou un motif tabous,
comme précisé respectivement par la directive tabooext ou taboopat. Le
chemin donné peut débuter par ~/ pour qu'il soit relatif au répertoire
personnel de l'utilisateur qui est à l'exécution. Pour des raisons de
sécurité, les fichiers de configuration ne doivent pas être accessibles en
écriture pour le groupe ou le reste du monde.
Scripts
- sharedscripts
-
En général, les scripts prerotate et postrotate sont exécutés pour
chaque journal mis en rotation et le chemin absolu du fichier journal leur
est passé comme premier argument. Cela signifie qu'un script peut être
exécuté plusieurs fois pour des spécifications de fichier journal qui
correspondent à plusieurs fichiers (comme /var/log/news/* par
exemple). Si la directive sharedscripts est spécifiée, les scripts ne
sont exécutés qu'une seule fois, quel que soit le nombre de journaux
auxquels correspond le motif à caractères génériques, et l'ensemble du motif
leur est passé comme argument. Cependant, si aucun des journaux du motif ne
nécessite une rotation, les scripts ne seront pas exécutés du tout. Si les
scripts se terminent avec une erreur (ou si la rotation d'un journal
échoue), les actions restantes ne seront exécutées pour aucun journal. Cette
directive outrepasse la directive nosharedscripts.
- nosharedscripts
-
Exécuter les scripts prerotate et postrotate pour chaque fichier
journal qui est mis en rotation (il s'agit du comportement par défaut, et
cette directive outrepasse la directive sharedscripts). Le chemin absolu
du fichier journal est passé au script comme premier argument. Le chemin
absolu du fichier journal final qui a été mis en rotation est passé au
script postrotate comme second argument. Si les scripts se terminent avec
une erreur, les actions restantes ne seront pas exécutées, mais seulement
pour les journaux affectés.
-
firstaction
-
-
script
-
-
endscript Le script est exécuté une fois avant que tous les fichiers
- journaux qui correspondent au motif à caractères génériques soient mis en
rotation, avant l'exécution du script prerotate et seulement si au moins
un journal sera effectivement mis en rotation. Ces directives ne doivent
apparaître qu'au sein d'une définition de fichier journal. L'ensemble du
motif est passé au script comme premier argument. Si le script se termine
avec une erreur, plus aucun traitement n'est effectué. Voir aussi
lastaction et la section SCRIPTS.
-
lastaction
-
-
script
-
-
endscript Le script est exécuté une fois après que tous les fichiers
- journaux qui correspondent au motif à caractères génériques soient mis en
rotation, après l'exécution du script prerotate et seulement si au moins
un journal est mis en rotation. Ces directives ne doivent apparaître qu'au
sein d'une définition de fichier journal. L'ensemble du motif est passé au
script comme premier argument. Si le script se termine avec une erreur, un
message d'erreur est seulement affiché (car il s'agit de la dernière
action). Voir aussi firstaction et la section SCRIPTS.
-
prerotate
-
-
script
-
-
endscript Le script est exécuté avant la rotation du fichier journal
- et de ses journaux anciens seulement si le journal sera effectivement mis en
rotation. Ces directives ne doivent apparaître qu'au sein d'une définition
de fichier journal. Normalement, le chemin absolu du fichier journal est
passé au script comme premier argument. Si sharedscripts est spécifié,
c'est l'ensemble du motif qui est passé au script. Voir aussi postrotate
et la section SCRIPTS. Voir sharedscripts et nosharedscripts pour
la gestion des erreurs.
-
postrotate
-
-
script
-
-
endscript Le script est exécuté après la rotation du fichier
- journal. et avant la compression du fichier journal. Ces directives ne
doivent apparaître qu'au sein d'une définition de fichier
journal. Normalement, le chemin absolu du fichier journal est passé au
script comme premier argument et le chemin absolu du fichier journal final
mis en rotation comme second argument. Si sharedscripts est spécifié,
l'ensemble du motif est passé au script comme premier argument et le second
argument est omis. Voir aussi pretrotate et la section SCRIPTS. Voir
sharedscripts et nosharedscripts pour la gestion des erreurs.
-
preremove
-
-
script
-
-
endscript Le script est exécuté une fois juste avant la suppression
- d'un fichier journal. logrotate passera au script le nom du fichier sur
le point d'être supprimé comme premier argument. Voir aussi firstaction
et la section SCRIPTS.
SCRIPTS
Les lignes entre le mot-clé de début (par exemple prerotate) et
endscript (ces deux mots-clés devant apparaître seuls sur une ligne) sont
exécutées en utilisant /bin/sh. Le script hérite de certains traits du
processus logrotate comme stderr, stdout, le répertoire
actuel,l'environnement et le umask. Les scripts sont exécutés sous
l'utilisateur et groupe appelants, sans tenir compte de toute directive
su. Si l'option --log a été spécifiée, le descripteur de fichier 3
correspondra au fichier journal. Le répertoire de travail actuel n'est pas
spécifié.
UTILISATEUR ET GROUPE
Les identifiants d'utilisateur et de groupe sont résolus en essayant tout
d'abord d'utiliser leur représentation textuelle, et en cas d'échec, en
utilisant leur valeur numérique.
FICHIERS
| /var/lib/logrotate/status | Fichier d'état par défaut. |
|
| /etc/logrotate.conf | Options de configuration. |
|
VOIR AUSSI
chmod(2), gunzip(1), gzip(1), mail(1), shred(1),
strftime(3), strtoul(3),
<https://github.com/logrotate/logrotate>
AUTEURS
Erik Troan, Preston Brown, Jan Kaluza.
<https://github.com/logrotate/logrotate>
TRADUCTION
La traduction française de cette page de manuel a été créée par
Laurent Hugé
et
Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
concernant les conditions de copie et
de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- FICHIER DE CONFIGURATION
-
- DIRECTIVES DU FICHIER DE CONFIGURATION
-
- Rotation
-
- Fréquence
-
- Sélection de fichiers
-
- Fichiers et répertoires
-
- Compression
-
- Noms de fichier
-
- Messagerie
-
- Fichiers de configuration supplémentaires
-
- Scripts
-
- SCRIPTS
-
- UTILISATEUR ET GROUPE
-
- FICHIERS
-
- VOIR AUSSI
-
- AUTEURS
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:40 GMT, September 19, 2025