Pode ser suficiente usar o relógio:
$ watch tail -n 15 mylogfile.txt
Eu tenho um arquivo de log crescente para o qual quero exibir somente as últimas 15 linhas. Aqui está o que sei que posso fazer:
tail -n 15 -F mylogfile.txt
Quando o arquivo de log é preenchido, tail
acrescenta as últimas linhas ao display.
Estou procurando uma solução que exiba apenas as últimas 15 linhas e me livre das linhas antes dos últimos 15 após a atualização. Você teria uma ideia?
Se você usa watch, tente a opção -n
para controlar o intervalo entre cada atualização.
Assim, o seguinte chamaria a cauda a cada 2 segundos
$ watch -n 2 tail -n 15 mylogfile.txt
enquanto este pesquisa a cada 1 segundo
$ watch -n 1 tail -n 15 mylogfile.txt
Você pode transmitir o arquivo de log em menos tempo e pressionar SHIFT + F para transmitir o arquivo usando menos. %código% Em seguida, basta pressionar SHIFT + F e ele será transmitido. Eu acho que é conveniente para monitorar arquivos de log que são atualizados.
Talvez você ache o -d
param útil.
man watch
-d Highlight the differences between successive updates. Option will read optional argument that changes highlight to be permanent, allowing to see what has changed at least once since first iteration.
No Solaris, AIX ou HPUX ou UNIX (incluindo Linux), você pode usar scripts para monitorar logs ou qualquer coisa assim:
while true;
clear;
do date;
echo ;
echo "MONITORING LOG IN "/path/to/file.log": ";
echo "Obs.: Last 20 lines of a logfile:
echo ;
tail -20 /path/to/file.log;
echo ;
sleep 5;
done
Tags monitoring logs tail