로그 파일의 마지막 n 줄만 모니터링하는 방법은 무엇입니까? 할 수있는 일은 다음과 같습니다. tail -n

내가 표시하고자하는 성장 로그 파일이 단지 지난 15 개 라인. 내가 할 수있는 일은 다음과 같습니다.

tail -n 15 -F mylogfile.txt

로그 파일이 채워 tail지면 디스플레이에 마지막 줄이 추가됩니다.

마지막 15 줄만 표시하고 업데이트 후 마지막 15 줄 이전에 줄을 제거하는 솔루션을 찾고 있습니다. 당신은 아이디어가 있습니까?



답변

watch를 사용하면 충분할 수 있습니다.

$ 시계 꼬리 -n 15 mylogfile.txt


답변

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

따라서 다음은 2 초마다 tail을 호출합니다.

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

1 초마다 폴링하는 동안

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


답변

로그 파일을 적게 실행하고 Shift + F를 누르면 덜 사용하여 파일을 스트리밍 할 수 있습니다.
$ less mylogfile.txt
그런 다음 SHIFT + F를 누르면 스트리밍됩니다. 업데이트되는 로그 파일을 모니터링하는 것이 편리하다고 생각합니다.


답변

아마도 당신은 그 -d매개 변수가 편리 하다는 것을 알 수 있습니다.

man watch

-d 연속 업데이트의 차이점을 강조 표시합니다. 옵션은 선택적인 인수를 읽어 강조 표시를 영구적으로 변경하여 첫 번째 반복 이후 한 번 이상 변경된 사항을 볼 수 있습니다.


답변

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


답변