LOGROTATE(8) Manuel de l'administrateur systeme LOGROTATE(8) NOM logrotate -- faire tourner, compresser et envoyer les journaux systeme 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 concu pour faciliter l'administration des systemes qui generent un grand nombre de journaux. Il automatise la rotation, la compression, la suppression et l'envoi des journaux. Chaque journal peut etre traite quotidiennement, hebdomadairement, mensuellement ou quand il devient trop volumineux. Normalement, logrotate est lance en tant que tache quotidienne de cron(8). Il ne modifie pas un journal plusieurs fois dans la meme journee a moins que le critere pour ce journal ne soit base sur sa taille et que logrotate ne soit lance plusieurs fois par jour, ou a moins que l'option -f ou --force ne soit utilisee. La ligne de commande peut specifier plusieurs fichiers de configuration. Les derniers fichiers de configuration peuvent outrepasser les options donnees dans les precedents, si bien que l'ordre dans lequel les fichiers de configuration de logrotate sont specifies est important. Normalement, il faudrait utiliser un unique fichier de configuration qui inclurait tous les autres fichiers de configuration necessaires. Pour ce faire, voir ci-dessous pour plus d'informations sur la facon d'utiliser la directive include. Si la ligne de commande specifie un repertoire, chaque fichier que ce dernier contient sera utilise 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 different de zero, bien que le fichier d'etat soit mis a jour. OPTIONS -f, --force Demander a logrotate de forcer la rotation, meme s'il ne l'estime pas necessaire. Cela peut parfois s'averer utile apres l'ajout de nouvelles entrees a un fichier de configuration de logrotate, ou si d'anciens journaux ont ete supprimes a la main, auquel cas les nouveaux fichiers seront crees, et la journalisation continuera correctement. -d, --debug Passer en mode debogage, ce qui signifie que les journaux ne seront pas modifies et que le fichier d'etat de logrotate ne sera pas mis a jour. Les messages de debogage seront seulement affiches. -s, --state fich_etat Demander a logrotate d'utiliser un autre fichier d'etat, ce qui peut s'averer utile si logrotate est lance par differents utilisateurs pour des groupes de fichiers journaux distincts. Pour prevenir une execution parallele, logrotate va tenter par defaut d'obtenir un verrouillage du fichier d'etat ; s'il n'y parvient pas, logrotate quittera avec un statut de 3. Le fichier d'etat par defaut est /var/lib/logrotate.status. Si /dev/null est specifie comme fichier d'etat, logrotate ne tentera ni d'ecrire dans le fichier d'etat, ni de le verrouiller. --skip-state-lock Ne pas verrouiller le fichier d'etat, par exemple si le verrouillage est interdit ou non pris en charge. --wait-for-state-lock Attendre que le verrouillage du fichier d'etat soit effectue par un autre processus logrotate. Avec cette option, logrotate peut attendre indefiniment, et il faut donc l'utiliser avec precaution. -v, --verbose Passer en mode affichage detaille, par exemple pour afficher des messages pendant la rotation. -l, --log fichier Demander a logrotate d'enregistrer une sortie detaillee dans le fichier journal. Cette sortie detaillee est la meme que celle qui est affichee lorsque logrotate est lance avec l'option -v. Le fichier journal est ecrase a chaque execution de logrotate. -m, --mail commande Indiquer a 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'entree standard et l'envoyer au destinataire. La commande d'envoi par defaut 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 a propos des journaux qu'il est cense traiter a partir de la liste de fichiers de configuration specifiee en ligne de commande. Chaque fichier de configuration peut definir des options globales (les options locales outrepassent les globales et les dernieres definitions outrepassent les precedentes) et specifier les journaux a faire tourner. Les options globales n'affectent pas les directives d'inclusion qui les precedent. Un fichier de configuration simple ressemblera a 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 premieres lignes definissent les options globales ; dans cet exemple, les journaux sont compresses apres leur rotation. Remarquez que les commentaires peuvent apparaitre n'importe ou dans le fichier de configuration a partir du moment ou le premier caractere de la ligne autre qu'une espace est un croisillon #. Les valeurs sont separees des directives par une espace ou un = optionnel. Les nombres doivent etre specifies dans un format pris en charge par strtoul(3). La section suivante du fichier de configuration decrit comment traiter le journal /var/log/messages. Le journal passera par cinq rotations hebdomadaires avant d'etre supprime. Apres la rotation du journal (mais avant que l'ancienne version du journal ne soit compressee), la commande /usr/sbin/killall -HUP syslogd sera executee. La section suivante definit les parametres pour les journaux /var/log/httpd/access.log et /var/log/httpd/error.log. Leur rotation intervient des que leur taille depasse 100 ko, et les anciens journaux sont envoyes (sans compression) a destinataire@example.org apres etre passes par 5 rotations, au lieu d'etre supprimes. sharedscripts signifie que le script postrotate ne sera execute qu'une seule fois (une fois les anciens journaux compresses) et non a chaque rotation d'un journal. Remarquez que les noms des fichiers journaux peuvent etre entoures de guillemets (et qu'ils doivent l'etre s'ils contiennent des espaces). Les regles normales de mise entre guillemets de l'interpreteur de commande s'appliquent, les caracteres ', " et \ etant pris en charge. La section suivante definit les parametres pour tous les fichiers dans /var/log/news. La rotation de chaque fichier s'effectue sur une base mensuelle La derniere section utilise l'expansion du tilde ~ pour faire tourner les fichiers journaux situes dans le repertoire personnel de l'utilisateur actuel. Cette configuration n'est valable que si votre bibliotheque glob prend en charge l'expansion du tilde, ce qui est le cas pour GNU glob. Utilisez les caracteres generiques avec precaution. Si vous specifiez *, logrotate fera tourner tous les fichiers, y compris ceux qui viennent de tourner. Pour contourner ce probleme, vous pouvez utiliser la directive olddir ou un nom generique plus restrictif (comme *.log). Notez que lorsqu'on utilise systemd(1), l'option ProtectSystem=full est definie par defaut dans le fichier logrotate.service, ce qui empeche logrotate de modifier les journaux situes dans /etc et /usr. Vous trouverez ci-apres plus d'informations sur les directives qui peuvent etre definies 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'etre supprimes ou envoyes a l'adresse precisee dans une directive mail. Si nombre est egal a 0, les anciennes versions sont supprimees au lieu d'etre mises en rotation. Si nombre est egal a -1, les anciens journaux ne sont pas supprimes, a moins qu'ils ne soient affectes par maxage (utiliser avec precaution, risque de degradation des performances et de l'espace disque). nombre a pour valeur par defaut 0. olddir repertoire Les journaux sont deplaces dans repertoire pour rotation. Le repertoire doit etre sur le meme peripherique physique que le journal en cours de rotation, sauf si une des directives copy, copytruncate ou renamecopy est specifiee. repertoire est suppose relatif au repertoire contenant le fichier journal, sauf si un chemin absolu est specifie. Quand cette directive est utilisee, toutes les anciennes versions des journaux finissent dans repertoire. Cette directive peut etre outrepassee par la directive noolddir. noolddir Les journaux sont mis en rotation dans le repertoire dans lequel ils resident normalement (cette directive outrepasse la directive olddir). su utilisateur groupe Faire tourner le jeu de fichiers journaux sous l'utilisateur et le groupe specifies au lieu de l'utilisateur/groupe par defaut (en general root). utilisateur et groupe specifient respectivement l'utilisateur et le groupe utilises pour la rotation (voir la section UTILISATEUR ET GROUPE pour les details). Si l'utilisateur/groupe que vous avez specifie ici ne possede pas de privileges suffisants pour creer des fichiers avec l'appartenance que vous avez specifiee dans une directive create, une erreur sera generee. Si logrotate s'execute avec les privileges de root, il est conseille d'utiliser la directive su pour faire tourner les fichiers dans les repertoires qui sont directement ou indirectement sous controle d'utilisateurs non privilegies. Frequence hourly Les fichiers journaux sont mis en rotation toutes les heures. Notez qu'en general, logrotate est configure pour etre execute par cron(8) quotidiennement (ou par logrotate.timer lorsqu'on utilise systemd(1)). Vous devez modifier cette configuration et executer 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 posterieure d'au moins 7 jours a la date de la derniere rotation (tout en ignorant l'ecart exact). L'interpretation de jour_de_la_semaine est la suivante : 0 signifie dimanche, 1 signifie lundi, ..., 6 signifie samedi ; la valeur speciale 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 defaut est 0. monthly Les fichiers journaux sont mis en rotation a la premiere execution de logrotate au cours du mois (en general le premier jour du mois). yearly Les fichiers journaux sont mis en rotation si l'annee actuelle est differente de l'annee de la derniere rotation. size taille Les fichiers journaux ne sont mis en rotation que s'ils depassent 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 derniere rotation, dans la mesure ou elle a ete specifiee apres le critere de temps (la derniere directive specifiee l'emporte sur les precedentes). Selection 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 defaut). ignoreduplicates Ignorer toutes les correspondances suivantes d'un fichier journal. ifempty Faire tourner le fichier journal meme s'il est vide en outrepassant la directive notifempty (ifempty est la directive par defaut). 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 jours. maxage nombre Supprimer les fichiers journaux ayant subi une rotation et qui datent de plus de jours. L'age n'est verifie que si le fichier journal doit etre mis en rotation. rotate -1 n'empeche pas la suppression. Les fichiers sont envoyes a l'adresse specifiee si maillast et mail sont definies. minsize taille Les fichiers journaux sont mis en rotation s'ils depassent taille octets, mais pas avant l'intervalle de temps par ailleurs specifie (daily, weekly, monthly ou yearly). La directive apparentee size est similaire, excepte 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 derniere rotation, sous reserve qu'elle ait ete specifiee apres le critere de temps (la derniere directive specifiee l'emporte sur les precedentes). Lorsque minsize est definie, la taille et l'age d'un fichier journal sont pris en compte. maxsize taille Les fichiers journaux sont mis en rotation s'ils depassent taille octets, meme avant l'intervalle de temps par ailleurs specifie (daily, weekly, monthly ou yearly). La directive apparentee size est similaire, excepte 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 derniere rotation, sous reserve qu'elle ait ete specifiee apres le critere de temps (la derniere directive specifiee l'emporte sur les precedentes). Lorsque maxsize est definie, la taille et l'age d'un fichier journal sont pris en compte. tabooext [+] liste La liste actuelle des extensions taboues est modifiee (voir la directive include pour des informations sur les extensions taboues). Si un + precede la liste d'extensions, la liste actuelle des extensions taboues est augmentee, sinon elle est remplacee. Au demarrage, la liste des extensions taboues contient ,v, .cfsaved, .disabled, .dpkg-bak, .dpkg-del, .dpkg-dist, .dpkg-new, .dpkg-old, .rhn-cfg-tmp-*, .rpmnew, .rpmorig, .rpmsave, .swp, .ucf-dist, .ucf-new, .ucf-old et ~ taboopat [+] liste La liste actuelle des motifs a caracteres generiques tabous est modifiee (voir la directive include pour des informations sur les extensions et les motifs tabous). Si un + precede la liste de motifs, la liste actuelle des motifs tabous est augmentee, sinon elle est remplacee. Au demarrage, la liste des motifs tabous est vide. Fichiers et repertoires create mode proprietaire groupe, create proprietaire groupe Le fichier journal est cree immediatement apres la rotation (avant l'execution du script postrotate et avec le meme nom que le fichier journal qui vient d'etre mis en rotation). mode specifie les droits du fichier journal en octal (tels que specifies a l'aide de chmod(2)), owner specifie l'utilisateur qui sera proprietaire du fichier journal et group specifie le groupe auquel appartiendra le fichier journal (voir la section UTILISATEUR ET GROUPE pour les details). Un ou plusieurs attributs du fichier journal peuvent etre omis, auquel cas ces attributs prendront comme valeur par defaut la valeur qu'ils avaient dans le fichier journal original. Cette directive peut etre desactivee par la directive nocreate. nocreate Les nouveaux fichiers journaux ne sont pas crees (outrepasse la directive create). createolddir mode proprietaire groupe Si le repertoire specifie a l'aide de la directive olddir n'existe pas, il est cree. mode specifie les droits du repertoire olddir en octal (tels que specifies a l'aide de chmod(2)), owner specifie l'utilisateur qui sera proprietaire du repertoire olddir et group specifie le groupe auquel appartiendra le repertoire olddir (voir la section UTILISATEUR ET GROUPE pour les details). Cette directive peut etre desactivee en utilisant la directive nocreateolddir. nocreateolddir Le repertoire olddir n'est pas cree 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 generer un instantane du fichier journal actuel, ou a un autre utilitaire de tronquer ou analyser le fichier. Si cette directive est utilisee, la directive create n'aura aucun effet, car l'ancien fichier journal reste a sa place. La directive copy permet, a l'aide de la directive olddir, de stocker sur divers peripheriques les fichiers journaux mis en rotation. nocopy Ne pas copier le fichier journal original et le laisser a sa place (cette directive outrepasse la directive copy). copytruncate Au lieu de deplacer le fichier journal original et d'en creer eventuellement un nouveau, le tronquer a une taille de zero a sa place apres en avoir effectue une copie. Cette directive peut etre utilisee lorsqu'on ne peut demander a un programme de fermer son fichier journal, ce programme continuant alors a ecrire (en mode ajout) indefiniment dans le fichier journal precedent. Notez qu'il y a un tres petit laps de temps entre la copie du fichier et sa troncature, et qu'il y a donc un risque de perte de donnees de journalisation. Si cette directive est utilisee, 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 peripheriques en utilisant la directive olddir. La directive copytruncate implique la directive norenamecopy. nocopytruncate Ne pas tronquer le journal original en place apres en avoir cree une copie (outrepasse la directive copytruncate). renamecopy Le fichier journal est renomme avec un nom temporaire dans le meme repertoire en lui ajoutant l'extension << .tmp >>. Ensuite, le script postrotate est execute et le fichier journal est copie depuis le fichier de nom temporaire vers le fichier de nom final. Enfin, le fichier de nom temporaire est supprime. La directive renamecopy permet de stocker les fichiers journaux mis en rotation sur divers peripheriques 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 a la place de unlink(), ce qui permet de s'assurer que les journaux ne seront pas lisibles apres leur suppression ; cette directive est a off par defaut. Voir aussi noshred. noshred Ne pas utiliser shred pour supprimer les anciens fichiers journaux. Voir aussi shred. shredcycles nombre Demander a GNU shred(1) d'ecraser les fichiers journaux nombre fois avant suppression. Sans cette directive, c'est la valeur par defaut de shred qui sera utilisee. allowhardlink Faire tourner les fichiers avec plusieurs liens physiques ; cette directive est a off par defaut. Le fichier cible peut etre vide a l'aide, par exemple, de shred ou copytruncate. A utiliser avec precaution, 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 compactes avec gzip(1) par defaut. Voir aussi nocompress. nocompress Les anciennes versions des fichiers journaux ne sont pas compactees. Voir aussi compress. compresscmd Specifier la commande a utiliser pour compacter les fichiers journaux (par defaut gzip(1)). Voir aussi compress. uncompresscmd Specifier la commande a utiliser pour decompacter les fichiers journaux. Le programme de decompactage par defaut est gunzip(1). compressext Specifier l'extension a ajouter aux fichiers journaux compactes si le compactage est active. L'extension par defaut correspond a celle specifiee dans la commande de compactage. compressoptions Des options de ligne de commande peuvent etre transmises au programme de compactage si on en utilise un. L'option par defaut pour gzip(1) est << -6 >> (ce qui implique un haut niveau de compression au detriment de la vitesse d'execution). Si vous utilisez une commande de compression differente, vous devrez peut-etre modifier les compressoptions en consequence. delaycompress Reporter le compactage du fichier journal precedent au prochain cycle de rotation. Cette directive n'a d'effet que si elle est utilisee en combinaison avec la directive compress. Elle peut etre utilisee quand il n'est pas possible de demander a un programme de fermer son journal, ce programme pouvant par consequent continuer a ecrire pendant un moment dans le fichier journal precedent. nodelaycompress Ne pas reporter le compactage du fichier journal precedent au prochain cycle de rotation (outrepasse la directive delaycompress). Noms de fichier extension ext Les fichiers journaux possedant l'extension ext peuvent la conserver apres leur rotation. Si le compactage est utilise, le suffixe de compactage (normalement .gz) apparait apres 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 apres leur rotation. Si le fichier original a deja pour extension ext, l'extension n'est pas dupliquee mais simplement deplacee 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) apparaitra apres ext. start nombre C'est le nombre a utiliser comme base pour la rotation. Si vous specifiez 0 par exemple, les journaux seront crees avec une extension .0 au moment de leur rotation depuis les fichiers journaux originaux. Si vous specifiez 9, les journaux seront crees avec une extension .9 en sautant les valeurs 0 a 8, mais les fichiers seront tout de meme mis en rotation le nombre de fois specifie a 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 etre configure 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 a celle de la fonction strftime(3). Seuls sont permis les specificateurs %Y %m %d %H %M %S %V et %s. Le format par defaut est << -%Y%m%d >>, sauf pour les rotations a chaque heure qui utilisent << -%Y%m%d%H >> comme format par defaut. Notez que le caractere separant le nom du journal de l'extension fait aussi partie de la chaine de formatage de date. L'horloge systeme doit etre reglee sur une date posterieure au 9 septembre 2001 pour un fonctionnement correct de %s. Notez que les horodatages generes par ce format doivent etre lexicalement adaptes au tri (c'est-a-dire l'annee 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 considere comme anterieur, alors que ce n'est pas le cas). La raison de cette regle de format reside dans le fait que lorsqu'on utilise la directive rotate, logrotate trie tous les noms de fichiers deja mis en rotation pour determiner lesquels sont les plus anciens et doivent etre supprimes. dateyesterday Utiliser la date de la veille au lieu de la date du jour pour creer l'extension dateext, de facon que le fichier journal mis en rotation ait une date dans son nom qui corresponde aux horodatages qu'il contient. datehourago Utiliser l'heure precedente au lieu de l'heure courante pour creer l'extension dateext, de facon que le fichier journal mis en rotation ait une heure dans son nom qui corresponde aux horodatages qu'il contient. A utiliser avec les rotations toutes les heures. Messagerie mail adresse Quand un journal est mis en rotation pour etre supprime, il est envoye a adresse. La directive nomail permet d'indiquer qu'aucun mail ne doit etre genere 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'etre 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'etre mis en rotation (comportement par defaut). Fichiers de configuration supplementaires include fichier_ou_repertoire Lire le fichier donne en argument comme s'il etait insere la ou la directive include apparait. Si c'est un repertoire qui est donne, la plupart des fichiers de ce repertoire sont lus par ordre alphabetique avant de continuer le traitement d'inclusion des fichiers. Les seuls fichiers ignores sont les fichiers non standards (tels que les repertoires et les tubes nommes) et les fichiers dont les noms se terminent par une extension ou un motif tabous, comme precise respectivement par la directive tabooext ou taboopat. Le chemin donne peut debuter par ~/ pour qu'il soit relatif au repertoire personnel de l'utilisateur qui est a l'execution. Pour des raisons de securite, les fichiers de configuration ne doivent pas etre accessibles en ecriture pour le groupe ou le reste du monde. Scripts sharedscripts En general, les scripts prerotate et postrotate sont executes pour chaque journal mis en rotation et le chemin absolu du fichier journal leur est passe comme premier argument. Cela signifie qu'un script peut etre execute plusieurs fois pour des specifications de fichier journal qui correspondent a plusieurs fichiers (comme /var/log/news/* par exemple). Si la directive sharedscripts est specifiee, les scripts ne sont executes qu'une seule fois, quel que soit le nombre de journaux auxquels correspond le motif a caracteres generiques, et l'ensemble du motif leur est passe comme argument. Cependant, si aucun des journaux du motif ne necessite une rotation, les scripts ne seront pas executes du tout. Si les scripts se terminent avec une erreur (ou si la rotation d'un journal echoue), les actions restantes ne seront executees pour aucun journal. Cette directive outrepasse la directive nosharedscripts. nosharedscripts Executer les scripts prerotate et postrotate pour chaque fichier journal qui est mis en rotation (il s'agit du comportement par defaut, et cette directive outrepasse la directive sharedscripts). Le chemin absolu du fichier journal est passe au script comme premier argument. Le chemin absolu du fichier journal final qui a ete mis en rotation est passe au script postrotate comme second argument. Si les scripts se terminent avec une erreur, les actions restantes ne seront pas executees, mais seulement pour les journaux affectes. firstaction script endscript Le script est execute une fois avant que tous les fichiers journaux qui correspondent au motif a caracteres generiques soient mis en rotation, avant l'execution du script prerotate et seulement si au moins un journal sera effectivement mis en rotation. Ces directives ne doivent apparaitre qu'au sein d'une definition de fichier journal. L'ensemble du motif est passe au script comme premier argument. Si le script se termine avec une erreur, plus aucun traitement n'est effectue. Voir aussi lastaction et la section SCRIPTS. lastaction script endscript Le script est execute une fois apres que tous les fichiers journaux qui correspondent au motif a caracteres generiques soient mis en rotation, apres l'execution du script prerotate et seulement si au moins un journal est mis en rotation. Ces directives ne doivent apparaitre qu'au sein d'une definition de fichier journal. L'ensemble du motif est passe au script comme premier argument. Si le script se termine avec une erreur, un message d'erreur est seulement affiche (car il s'agit de la derniere action). Voir aussi firstaction et la section SCRIPTS. prerotate script endscript Le script est execute avant la rotation du fichier journal et seulement si le journal sera effectivement mis en rotation. Ces directives ne doivent apparaitre qu'au sein d'une definition de fichier journal. Normalement, le chemin absolu du fichier journal est passe au script comme premier argument. Si sharedscripts est specifie, c'est l'ensemble du motif qui est passe au script. Voir aussi postrotate et la section SCRIPTS. Voir sharedscripts et nosharedscripts pour la gestion des erreurs. postrotate script endscript Le script est execute apres la rotation du fichier journal. Ces directives ne doivent apparaitre qu'au sein d'une definition de fichier journal. Normalement, le chemin absolu du fichier journal est passe au script comme premier argument et le chemin absolu du fichier journal final mis en rotation comme second argument. Si sharedscripts est specifie, l'ensemble du motif est passe 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 execute une fois juste avant la suppression d'un fichier journal. logrotate passera au script le nom du fichier sur le point d'etre supprime comme premier argument. Voir aussi firstaction et la section SCRIPTS. SCRIPTS Les lignes entre le mot-cle de debut (par exemple prerotate) et endscript (ces deux mots-cles devant apparaitre seuls sur une ligne) sont executees en utilisant /bin/sh. Le script herite de certains traits du processus logrotate comme stderr, stdout, le repertoire actuel,l'environnement et le umask. Les scripts sont executes sous l'utilisateur et groupe appelants, sans tenir compte de toute directive su. Si l'option --log a ete specifiee, le descripteur de fichier 3 correspondra au fichier journal. Le repertoire de travail actuel n'est pas specifie. UTILISATEUR ET GROUPE Les identifiants d'utilisateur et de groupe sont resolus en essayant tout d'abord d'utiliser leur representation textuelle, et en cas d'echec, en utilisant leur valeur numerique. FICHIERS /var/lib/logrotate.status Fichier d'etat par defaut. /etc/logrotate.conf Options de configuration. VOIR AUSSI chmod(2), gunzip(1), gzip(1), mail(1), shred(1), strftime(3), strtoul(3), AUTEURS Erik Troan, Preston Brown, Jan Kaluza. TRADUCTION La traduction francaise de cette page de manuel a ete creee par Laurent Huge et Lucien Gentis Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Linux 3.21.0 LOGROTATE(8)