로그 파일의 마지막 n줄만 모니터링하는 방법은 무엇입니까?

로그 파일의 마지막 n줄만 모니터링하는 방법은 무엇입니까?

계속해서 늘어나는 로그 파일을 표시하고 싶습니다.오직마지막 15줄. 제가 할 수 있는 일은 다음과 같습니다.

tail -n 15 -F mylogfile.txt

로그 파일이 가득 차면 tail마지막 몇 줄을 디스플레이에 추가합니다.

마지막 15개 행만 표시하고 업데이트 후 마지막 15개 행 이전의 행을 삭제하는 솔루션을 찾고 있습니다. 어떤 아이디어가 있나요?

答え1

시계를 사용하는 것만으로도 충분할 수 있습니다.

$ 시계 꼬리 -n 15 mylogfile.txt

答え2

시계를 사용하는 경우 -n각 업데이트 간격을 제어하는 ​​옵션을 사용해 보세요.

따라서 다음 호출은 2초마다 종료됩니다.

$ watch -n 2 tail -n 15 mylogfile.txt

그리고 이것은 1초마다 폴링합니다.

$ watch -n 1 tail -n 15 mylogfile.txt

答え3

less를 실행하여 로그 파일을 스트리밍할 수 있으며, SHIFT + F를 누르면 less를 사용하여 파일이 스트리밍됩니다. $ less mylogfile.txt 그런 다음 SHIFT + F를 눌러 스트리밍하세요. 업데이트된 로그 파일을 모니터링하는 것이 편리할 것 같습니다.

答え4

Solaris, AIX, HPUX 또는 UNIX 계열(Linux 포함)에서는 스크립트를 사용하여 로그 또는 이와 유사한 것을 모니터링할 수 있습니다.

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

関連情報