Salta o nome do arquivo, não o arquivo

2

No UNIX (OS X BSD para ser preciso), eu tenho um comando "tail -f" em um arquivo de log. De vez em quando, desejo excluir esse arquivo de log para que eu possa revisá-lo com mais facilidade no meu editor de texto.

Eu excluo o arquivo e, em seguida, meu programa o recria após uma nova atividade. No entanto, meu comando tail (e qualquer outra coisa que estava assistindo ao arquivo de log antigo) não é atualizado; ele ainda está assistindo ao arquivo de log antigo e excluído.

Eu acho que entendo porque isso é (nomes de arquivos simplesmente sendo ponteiros para blocos de dados de arquivos). Eu gostaria de saber como posso contornar isso. Idealmente, meu comando tail (e qualquer outra coisa que eu aponte para o arquivo) seria capaz de ler os dados do novo arquivo quando o nome do arquivo foi excluído e recriado.

Como eu faria isso?

    
por Craig Walker 26.12.2010 / 18:24

1 resposta

7

Dê uma olhada na opção -F . Eu acho que isso serve ao seu propósito.

Da parte posterior da informação:

  -F
     This option is the same as '--follow=name --retry'.  That is, tail
     will attempt to reopen a file when it is removed.  Should this
     fail, tail will keep trying until it becomes accessible again.
    
por 26.12.2010 / 18:56

Tags