Provided by: manpages-fr_4.26.0-1_all 

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 à
debian-l10n-french@lists.debian.org.
Linux 3.22.0 LOGROTATE(8)