É possível recuar - um recurso da web externo?

1

Posso tail -f uma saída de http://example.com ?

Eu quero monitorar o arquivo JSON externo.

    
por Szymon Toda 18.01.2014 / 12:37

3 respostas

2

Não. Da página man tail (1):

   With  --follow  (-f),  tail  defaults to following the file descriptor,
   which means that even if a tail’ed file is renamed, tail will  continue
   to  track  its  end.   This  default behavior is not desirable when you
   really want to track the actual name of the file, not the file descrip-
   tor (e.g., log rotation).  Use --follow=name in that case.  That causes
   tail to track the named file  in  a  way  that  accommodates  renaming,
   removal and creation.

Isso significa que o comando tail precisaria do descritor de arquivo para segui-lo, o que não acontece quando você emite uma solicitação http. Seu sistema de arquivos não tem idéia de que um arquivo remoto (no sentido de que você está se referindo a) foi alterado. Para fazer com que algo assim funcione, você precisará usar um utilitário / script que pesquise o servidor em um intervalo específico ou use algo como websockets (se o servidor suportar isso).

    
por 18.01.2014 / 12:46
0

Uma maneira de fazer isso seria executar wget no URL de destino em um loop e seguir isso:

$ while :; do 
   wget -qO - http://example.com >> /tmp/foo; sleep 1; 
  done

Em seguida, a partir de outro terminal

$ tail -f /tmp/foo
    
por 18.01.2014 / 16:50
0

Para usar tail -f em um arquivo da Internet, você precisa que esse arquivo seja legível localmente e possa ser pesquisado. Uma maneira de conseguir isso seria com o HTTPFS , no entanto, esse não é um software comumente usado ou maduro.

    
por 18.01.2014 / 16:55

Tags