시간 초과 회전 파일 로거를 사용하여 일부 로그가 생성되고 있습니다. 이 파일은이라는 파일에 기록 tool.log
하고 자정에이 파일을 이동 tool.log.<date>
하여 새로 시작합니다 tool.log
.
나는이 tail -f tool.log
로그에 눈을 유지하기 위해 컴퓨터에서 실행하지만, 한밤중에, 때 tool.log
로 이름이 변경되고 tool.log.<date>
, tail
이름을 바꾼 파일을보기 위해서는 계속한다.
내가 바라는 것은와 비슷한 도구 tail
이지만 tool.log
inode를 따르는 대신 이라는 파일을 계속 모니터링합니다 .
이와 같은 것이 존재합니까? 그렇지 않으면이 목적으로 파이썬으로 직접 작성할 수 있습니다.
답변
일부 구현에는 tail
이를위한 옵션이 있습니다. 다음은 GNU tail에 대한 매뉴얼 페이지의 설명입니다.
-F
와 동일--follow=name --retry
-f
,--follow
[=
{ 이름 | descriptor }]
파일이 증가함에 따라 추가 된 데이터를 출력합니다.-f
,--follow
및--follow=descriptor
동등
--retry
파일이 없거나 액세스 할 수없는 경우에도 파일을 열려고 시도하십시오. 다음과 같이 이름을 따를 때 유용합니다.--follow=name
이 옵션은 POSIX에 의해 지정되어 있지 않으므로 어디에서나 사용할 수 없습니다. 알려진 일부 구현 :
답변
대안은 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
수행합니다.