파일 이름 뒤에 나오는“tail -f”의 대안 로거를 사용하여 일부 로그가 생성되고

시간 초과 회전 파일 로거를 사용하여 일부 로그가 생성되고 있습니다. 이 파일은이라는 파일에 기록 tool.log하고 자정에이 파일을 이동 tool.log.<date>하여 새로 시작합니다 tool.log.

나는이 tail -f tool.log로그에 눈을 유지하기 위해 컴퓨터에서 실행하지만, 한밤중에, 때 tool.log로 이름이 변경되고 tool.log.<date>, tail이름을 바꾼 파일을보기 위해서는 계속한다.

내가 바라는 것은와 비슷한 도구 tail이지만 tool.loginode를 따르는 대신 이라는 파일을 계속 모니터링합니다 .

이와 같은 것이 존재합니까? 그렇지 않으면이 목적으로 파이썬으로 직접 작성할 수 있습니다.



답변

일부 구현에는 tail이를위한 옵션이 있습니다. 다음은 GNU tail에 대한 매뉴얼 페이지의 설명입니다.

-F
와 동일 --follow=name --retry

-f, --follow[ ={ 이름 | descriptor }]
파일이 증가함에 따라 추가 된 데이터를 출력합니다. -f, --follow--follow=descriptor동등

--retry
파일이 없거나 액세스 할 수없는 경우에도 파일을 열려고 시도하십시오. 다음과 같이 이름을 따를 때 유용합니다.--follow=name

이 옵션은 POSIX에 의해 지정되어 있지 않으므로 어디에서나 사용할 수 없습니다. 알려진 일부 구현 :

  • GNU – 한-F전술 한 바와 같이
  • Mac OS X , FreeBSD NetBSD--F 동일한 효과를 가진유사한옵션이 있습니다
  • 오픈 BSD는-f(파일을 교체 할 경우 (즉, inode 번호가 변경), 꼬리 파일을 다시 계속됩니다) 충분하다
  • Solaris- 해당 없음
  • 비지 박스는-F최신 버전에서 사용할 수 있지만 사용하여 컴파일해야합니다ENABLE_FEATURE_FANCY_TAIL(이 컴파일에없는 기본적으로)

답변

대안은 tail -F명령입니다.

-F옵션은 의미 --follow=name--retry옵션, 그래서 꼬리는 다시 삭제 및 생성 된 경우에도 파일을보고있다.


답변

대안 을 요청한 이후 :

less유틸리티는에 대한 대안이 될 수 있습니다 tail -F.

다음과 같이 실행해야합니다. +를 less --follow-name filename.log누르십시오 .ShiftF

이것은와 동일한 결과를 제공합니다 tail -F.


답변

또 다른 대안은 watch이 예제에서 n 초마다 2 초마다 명령을 반복하는 명령 을 사용 하는 것입니다.

watch -n2 "tail tool.log"

로그보기가 끝나면 Ctrl+ C를 사용 하여 명령을 종료하십시오.


답변

lnav 는 파일 이름을 따르는 또 다른 환상적인 도구입니다.

디렉토리를 가리킬 수 있으며 모든 종류의 다른 깔끔한 기능 외에도 해당 디렉토리의 모든 파일을 테일링합니다.


답변

multitail귀하의 특정 사건을 처리 할지 확실 하지 않지만 그럴 것입니다. multitail은 할 수있는 모든 것을 tail수행합니다.

https://ko.wikipedia.org/wiki/MultiTail