On Thu, 25 Oct 2001, Yann Sagon wrote:

> en nfs) et on ne peut pas utiliser syslog pour le rediriger sur un pipe... 

syslog marche par r�seau de syslog � syslog, et cela doit donc �tre
possible de finalement passer par une pipe.

> est ce que je peux quand m�me m'en sortir comme �a?

Essayons:

Pour que cela:

   tail -f fichier | grep quelque_chose

fonctionne dans le cas g�n�ral, il faut que ni tail ni grep ne fasse de
buffering.

   schaefer@defian:/tmp% touch abcd
   schaefer@defian:/tmp% tail -f abcd | grep turlututu

apr�s avoir rapidement essay� (du moins en local), chez moi �a marche
(depuis un autre terminal j'ai fait: echo turlututu >> /tmp/abcd.
 Cela ferme le fichier, j'ai donc utiliser cat >> /tmp/abcd sans
 taper CTRL-D. Il y a un d�lai mais c'est normal, cf plus bas).

Comment �a marche ?

   schaefer@defian:~% ps auxw | grep tail
   schaefer  3255  0.0  0.2  1012  380 pts/6    S    15:02   0:00 tail -f abcd
   schaefer@defian:~% strace -p 3255
   fstat(3, {st_mode=S_IFREG|0644, st_size=1577983, ...}) = 0
   rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
   rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
   rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
   nanosleep({1, 0}, {1, 0})               = 0
   fstat(3, {st_mode=S_IFREG|0644, st_size=1577983, ...}) = 0
   rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
   rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
   rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
   nanosleep({1, 0}, {1, 0})               = 0

en bref, chaque seconde, tail regarde le mtime du fichier via fstat et si
oui il fait une lecture jusqu'� la fin. En 2.4 ont �t� impl�ment�es des
interfaces de notification (ie: push plut�t que pull -- ou le contraire
:)) similaire � ce qui existait sur SGI IRIX. Enfin je crois, pas encore
essay�.

Donc, cela peut aider si tes machines (en NFS) ont le temps synchronis�.

NB: pour que syslog �crive effectivement imm�diatement dans le fichier,
    il faut, comme d�crit dans man 5 syslog.conf, que l'entr�e
    correspondante n'ait pas de `-'. En plus, par r�seau il y aura
    forc�ment caching.


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

Répondre à