<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Programmes

rotatelogs - Rotation des journaux d'Apache par redirection de ces derniers dans un "pipe"

Langues Disponibles:  en  |  fr  |  ko  |  tr 

rotatelogs est un programme simple � utiliser en conjonction avec la fonctionnalit� d'Apache de redirection dans un "pipe" des fichiers journaux. Il supporte une rotation bas�e sur un intervalle de temps ou une taille maximale du journal.

top

Syntaxe

rotatelogs [ -l ] [ -L nom-lien ] [ -p programme ] [ -f ] [ -v ] [ -e ] [ -c ] [ -n nombre-de-fichiers ] fichier-journal heure-de-rotation|taille-fichier(B|K|M|G) [ d�calage ]

top

Options

-l
Utilise le temps local plut�t que GMT comme base pour l'intervalle de temps ou pour le formatage de strftime(3) avec une rotation bas�e sur la taille.
-L nom-lien
Etablit un lien physique entre le fichier journal courant et le lien sp�cifi�. Cette option permet de consulter le journal de mani�re continue malgr� les rotations via une commande du style tail -F nom-lien.
-p programme
Avec cette option, rotatelogs ex�cutera le programme programme chaque fois qu'un nouveau fichier journal sera ouvert. Le nom du fichier nouvellement ouvert est pass� comme premier argument au programme. Si l'ex�cution se produit apr�s une rotation, l'ancien nom du fichier journal est pass� au programme comme second argument. rotatelogs n'attend pas la fin du programme pour continuer son ex�cution, et cessera tout enregistrement de codes d'erreur lorsqu'il aura termin� son processus. Le programme utilise les m�mes canaux stdin, stdout, et stderr que rotatelogs, et h�rite de son environnement.
-f
Ouvre le fichier journal imm�diatement, d�s que rotatelogs d�marre, au lieu d'attendre la lecture de la premi�re entr�e de journal (pour les sites peu charg�s, il peut s'�couler un temps substantiel entre le d�marrage du serveur et le traitement de la premi�re requ�te, temps pendant lequel le fichier journal associ� n'"existe" pas, ce qui peut causer des probl�mes � certains utilitaires de journalisation automatiques).
-t
Provoque une troncature du fichier journal au lieu d'une rotation. Cela peut s'av�rer utile lorsqu'un journal est �labor� en temps r�el par une commande telle que tail, l'archivage des donn�es n'�tant ici pas n�cessaire. Si aucun suffixe n'est ajout� au nom de fichier, les cha�nes de format contenant des caract�res '%' sont cependant respect�es.
-v
Affiche une sortie verbeuse sur STDERR. La sortie contient le r�sultat de l'interpr�tation de la configuration, ainsi que toutes les op�rations d'ouverture et de fermeture de fichiers.
-c
Cr�e un fichier journal pour chaque intervalle, m�me s'il est vide.
-e
Envoie les messages de journalisation vers stdout. Ceci s'av�re utile lorsque les journaux doivent �tre trait�s par un autre programme.
-n nombre-de-fichiers
Utilise une liste circulaire de fichiers sans rep�res de temps. Avec -n 3, la s�rie de fichiers conserv�s sera "logfile", "logfile.1", "logfile.2" avec �crasement de "logfile". Disponible � partir de la version 2.4.5 du serveur HTTP Apache.
fichier-journal

Le chemin et le nom de base du fichier journal. Si fichier-journal contient des caract�res '%', il est consid�r� comme une cha�ne de formatage pour strftime(3). Dans le cas contraire, le suffixe .nnnnnnnnnn est automatiquement ajout� et correspond au temps en secondes (sauf si l'option -t est sp�cifi�e). Les deux formats calculent le temps de d�marrage depuis le d�but de la p�riode courante. Par exemple, si un temps de rotation de 86400 est sp�cifi�, les champs heure, minute et seconde cr��s � partir du format strftime(3) auront tous pour valeur 0, en r�f�rence au d�but de la p�riode de 24 heures courante (minuit).

Si vous utilisez le formatage de noms de fichiers strftime(3), assurez-vous que le format du fichier journal poss�de une granularit� suffisamment importante pour g�n�rer un nom de fichier diff�rent � chaque rotation des journaux. Si ce n'est pas le cas, la rotation va �craser le fichier existant au lieu d'en g�n�rer un nouveau. Par exemple, si fichier-journal �tait /var/log/errorlog.%Y-%m-%d avec une rotation � 5 m�gaoctets, et si la limite de 5 m�gaoctets a �t� atteinte deux fois dans la m�me journ�e, le m�me nom de fichier va �tre g�n�r�, et la rotation va �craser le fichier existant.

temps-rotation
Le temps entre deux rotations des fichiers journaux en secondes. La rotation intervient au d�but de cet intervalle. Par exemple, si le temps de rotation est de 3600, la rotation des fichiers journaux s'effectuera au d�but de chaque heure ; si le temps de rotation est de 86400, la rotation des fichiers journaux s'effectuera chaque nuit � minuit. (Si aucune donn�e n'est enregistr�e au cours d'un intervalle, aucun fichier ne sera cr��).
taille-fichier(B|K|M|G)
La taille maximale du fichier suivie par une des lettres B (Octets), K (KOctets), M (MOctets) ou G (GOctets).

Lorsque temps et taille sont sp�cifi�s, la taille doit l'�tre apr�s le temps. La rotation interviendra alors aussit�t que l'une des deux limites (temps ou taille) sera atteinte.

d�calage
Le d�calage en minutes par rapport au temps UTC. Par d�faut, le d�calage est consid�r� comme nul et c'est le temps UTC qui est utilis�. Par exemple, pour utiliser le temps local de la zone UTC -5 heures, sp�cifiez une valeur de -300 pour cette option. Dans la plupart des cas, il vaut mieux utiliser l'option -l que sp�cifier un d�calage.
top

Exemples

CustomLog "|bin/rotatelogs /var/log/fichier-journal 86400" common

Cette directive cr�e les fichiers /var/log/fichier-journal.nnnn o� nnnn correspond au temps syst�me auquel la journalisation d�marre effectivement (ce temps sera toujours un multiple du temps de rotation, si bien que vous pouvez synchroniser les scripts cron avec lui). A la fin de chaque temps de rotation (ici apr�s 24 heures), une nouvelle journalisation d�marre.

CustomLog "|bin/rotatelogs -l /var/log/fichier-journal.%Y.%m.%d 86400" common

Cette directive cr�e les fichiers /var/log/fichier-journal.yyyy.mm.dd o� yyyy correspond � l'ann�e, mm au mois et dd au jour du mois. La journalisation basculera vers un nouveau fichier chaque jour � minuit, temps local.

CustomLog "|bin/rotatelogs /var/log/fichier-journal 5M" common

Cette directive va effectuer une rotation du fichier journal chaque fois que la taille de ce dernier atteindra 5 MOctets.

ErrorLog "|bin/rotatelogs /var/log/journal-erreurs.%Y-%m-%d-%H_%M_%S 5M"

Cette directive va effectuer une rotation du fichier journal des erreurs chaque fois que la taille de ce dernier atteindra 5 MOctets, et le nom du fichier journal se pr�sentera sous la forme journal-erreurs.YYYY-mm-dd-HH_MM_SS.

CustomLog "|bin/rotatelogs -t /var/log/journal 86400" common

Cet exemple cr�e le fichier /var/log/journal en le tronquant au d�marrage, puis une fois par jour. Ce sc�nario implique qu'un processus s�par� (tel que tail) traite le fichier en temps r�el.

top

Portabilit�

Les substitutions des cha�nes de format du fichier journal suivantes doivent �tre support�es par toutes les impl�mentations de strftime(3) ; voir la page de manuel de strftime(3) pour les extensions sp�cifiques � une biblioth�que.

%Anom du jour de la semaine en entier (localis�)
%anom du jour de la semaine sur 3 caract�res (localis�)
%Bnom du mois en entier (localis�)
%bnom du mois sur 3 caract�res (localis�)
%cdate et heure (localis�)
%djour du mois sur 2 chiffres
%Hheure sur 2 chiffres (de 0 � 24h)
%Iheure sur 2 chiffres (de 0 � 12h)
%jjour de l'ann�e sur 3 chiffres
%Mminutes sur 2 chiffres
%mmois sur 2 chiffres
%psuffixe am/pm pour l'heure de 0 � 12h (localis�)
%Ssecondes sur 2 chiffres
%Usemaine de l'ann�e sur 2 chiffres (Dimanche est le premier jour de la semaine)
%W semaine de l'ann�e sur 2 chiffres (Lundi est le premier jour de la semaine)
%wjour de la semaine sur 1 chiffre (Dimanche est le premier jour de la semaine)
%Xheure (localis�e)
%xdate (localis�e)
%Yann�e sur 4 chiffres
%yann�e sur 2 chiffres
%Znom de la zone de temps
%%caract�re litt�ral `%'

Langues Disponibles:  en  |  fr  |  ko  |  tr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.