On Thursday 25 October 2001 15:01, Yann Sagon wrote:
>
> Que veux tu dire.. il s'arrete pour toujours, ou il fait une pause.. ?
>

Dans les cas 1 & 2 il fait une pause (stoped). Dans le cas 3, y'a plus 
d'process.

> > � part �a, si tu veux �tre capable de "raccrocher" au log, tout en
> > traitant
>
> D�sol�, mais je ne vois pas non plus ce que tu veux dire par "raccrocher"
> !!!

C'est � dire que tu d�marre ton machin longtemps apr�s que le log ait 
commenc� � se remplir, que tu veux traiter ce qu'il contien d�j� mais qu'une 
fois que tu es arriv� � la derni�re ligne du fichier, tu veux traiter ce qui 
continue d'arriver de mani�re sporadique.

> Le sc�nario est le suivant: c'est un fichier qui n'est pas en local (il est
> en nfs) et on ne peut pas utiliser syslog pour le rediriger sur un pipe...
> est ce que je peux quand m�me m'en sortir comme �a?

Tu peux faire tourner ton grep sur la machine remote, te cr�er un socket... 
ou encore (attention les v�los, �a va raper... c'est du ksh... plus simple 
pour les op�ration arithm�tiques)

integer n
{
    (( n=$(wc -l </var/log/truc_chose) ))
    if (( n>10 ))
    then
        (( n=n-10 ))
        sed -n "1,${n} p" /var/log/truc_chose
    fi
    tail -f /var/log/trux_chose
} 2>&1 | grep "blabla" >>text.tmp

�a, c'est pour lire le le fichier de log jusqu'� Last_Line - 10, balanc� ces 
lignes sur stdout, puis reprendre le reste des lignes et ce qui arrivera par 
par la suite (c'est ce que j'appelle "raccrocher") et le balancer aussi sur 
stdout. L'ensemble du stdout (et stderr, quoique je n'en vois pas l'utilit�) 
est ensuite trait� par ton grep...

Bon, y'a un "trou"... si jamais un nouveau message arrive entre le moment du 
wc et le sed... risque de perdre une ou plusieurs lignes... 

Aussi, consid�re que ce script n'est pas le r�sultat de deux jours de 
r�flexion mais plut�t une id�e "comme �a" qui peut t'�clairer sur les 
possibilit�s de ce genre de traitement � l'aide de ksh (c'est la partie 
didactique). Pourquoi ksh ? Pour rire un coup... parceque �a marche partout 
et que c'est relativement compr�hensible. �a peut aussi se faire en Perl 
(certainement encore plus compact), awk, PHP, Latex, PostScript, ...

Daniel




--
http://www-internal.alphanet.ch/linux-leman/ avant de poser
une question. Ouais, pour se d�sabonner aussi.

Répondre à