Assista ao arquivo usando multitail, mesmo que não tenha sido criado

4

Eu tenho um arquivo de log do MapServer; ele é criado em /tmp/mapserv.log , mas obviamente é liberado a cada reinicialização e é criado apenas quando ocorre um evento que pode ser logado.

Eu já estou usando o Multitail, mas agora preciso assistir a pasta /tmp para um arquivo que ainda não foi criado, esperando que apareça.

Alguma dica?

    
por fradeve 18.04.2013 / 12:05

1 resposta

3

Você talvez possa usar a opção -iw . Verifica se há novos arquivos correspondentes a um dado padrão em um determinado intervalo. Quando um é encontrado, comece a segui-lo.

Por exemplo:

multitail -iw /tmp/mapserv.log 2

Procuraria o arquivo /tmp/mapserv.log a cada 2 segundos. Se e quando aparece siga-o.

Pretende receber um caractere curinga como em

-iw "/tmp/map*" 2 
# Quotes needed to prevent the shell to expand the pattern.

mas também funciona para não-curinga. O número é com que frequência verificar novos arquivos que correspondem ao padrão.

Senão, touch talvez funcione. Pode exigir algo como su user -c 'touch ...' ou chown etc depois do toque.

Se o MapServer excluir o mapserv.log existente no primeiro registro e não truncar ou acrescentar você talvez precise também da opção -f , como em:

Follow the following filename, not the descriptor.

    
por 18.04.2013 / 13:14