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
[email protected]
http://x86.sun.com/mailman/listinfo/solaris_fr