Usando a cauda -F para monitorar arquivos enormes

1

Me deparei com um requisito em que preciso monitorar continuamente um arquivo ao vivo (anexar) para um padrão predefinido (por exemplo, uma mensagem de erro). Estou planejando usar tail -F [FileName] | grep "pattern" & colocá-lo em algum script de shell para me avisar. Minha preocupação é como vai funcionar para um arquivo enorme dizer 50 GB de tamanho, eu quero entender o quanto os recursos do sistema este tipo de solução irá consumir. Em resumo, como a cauda funciona / manipula um arquivo na perspectiva de utilização de recursos.

    
por vasco.debian 02.11.2016 / 16:07

1 resposta

3

tail não lê o arquivo inteiro. Quando pode , começa no final e depois retrocede até atingir o número esperado de linhas. No entanto, faz ler tudo quando não pode procurar, como ler de um pipe, por exemplo.

Isso pode não se aplicar a você, mas lembre-se de que tail -f rastreia o descritor de arquivos e não o nome do arquivo . Então, se você tem, por exemplo, a rotação do log, ele simplesmente parará, porque o arquivo original parou de mudar.

    
por 02.11.2016 / 16:18

Tags