Fabrice Bacchella wrote:
> 

>>
>>     w10{root}: logadm -n /var/adm/messages
>> 1.    mkdir -p /var/adm # verify directory exists
>> 2.    mv -f /var/adm/messages /var/adm/messages.0 # rotate log file
>> 3.    gzip -f /var/adm/messages.0 # compress old log (-z flag)
>> 4.    touch /var/adm/messages
>> 5.    chown 0:0 /var/adm/messages
>> 6.    chmod 644 /var/adm/messages
>> 7.    sh -c kill -HUP `cat /var/run/syslog.pid` # -a cmd
>>     w10{root}:

> Le gzip va terminer sa commande par un rm /var/adm/messages. Quid les 
> log apparus entre l'étape 3 & l'étape 7 ? Le kill -HUP est 

C'est justement cela le probleme. Il y a tres probablement une "race condition" 
ici.

gzip est applique sur messages.0 et non pas messages.

Lorsque tu fais un mv, ce fichier est encore ouvert par syslog - meme si le
fichier a change de nom, le descripteur associe (par syslog) reste le meme ->
gzip commence a travailler sur un fichier ouvert. Et syslog continue a ecrire
dessus. Ce descripteur ne sera ferme que quand tu envois un "kill -HUP" -
quelques secondes ou minutes apres...

C'est pour cela que je pense qu'il est preferable de faire syslog reouvrir le
fichier avant de lancer la compression.

> obligatoirement à faire après le mv, pour pas perdre de message.
> 
>>
>> Ceci ne pose pas des problemes sauf dans le cas ou la commande a 
>> executer apres
>> rotation (option -a) depend d'un traitement a effectuer sur le 
>> fichier de log
>> que vient d'etre retourne (mais en fait c'est mieux, puisqu'il le 
>> traitera sans
>> compression).
> 
> 
> 


-- 
 ---------------------------------------------------------------
 Jose Marcio MARTINS DA CRUZ           Tel. :(33) 01.40.51.93.41
 Ecole des Mines de Paris              http://j-chkmail.ensmp.fr
 60, bd Saint Michel                http://www.ensmp.fr/~martins
 75272 - PARIS CEDEX 06      mailto:[EMAIL PROTECTED]


_______________________________________________
Solaris_fr liste de diffusion en français pour Solaris, sur toutes architectures
Solaris_fr@x86.sun.com
http://x86.sun.com/mailman/listinfo/solaris_fr

Répondre à