tail -f 그러나 파일이 삭제되고 다시 생성될 때(추가 없이)

tail -f 그러나 파일이 삭제되고 다시 생성될 때(추가 없이)

새로운 출력이 있는지 로그 파일을 모니터링하려고 합니다. 내 통제하에 있지 않은 또 다른 스크립트는 파일을 삭제한 다음 동일한 이름을 가진 새 파일을 생성하는 것입니다. tail -f파일이 삭제되는 중이므로 을(를) 사용할 수 없습니다.

답변1

지원 하신다면 tail이용해주세요tail -F, 사라지고 다시 나타나는 파일을 매우 잘 처리합니다. tail제자리에 유지될 디렉토리로 시작했는지 확인하세요 .

-F예 약칭 --follow=name --retry: tail파일 설명자 대신 이름으로 파일을 추적하고 파일에 액세스할 수 없는 경우 다시 시도합니다(예를 들어삭제되었기 때문입니다.)

--follow=name(많은 with 관련 버그가 coreutils 8.26에서 수정되었으므로 --retry이전 버전에서는 문제가 발생할 수 있습니다.예를 들어tail 파일이 포함된 디렉터리가 삭제될 때 재시도하는 것은 버전 8.26 이상의 모든 경우에만 작동하는 것 같습니다. )

답변2

Tail Man 명령을 살펴보세요. 그 중 일부는 다음과 같습니다.

--follow=name

tail기본값인 설명자 대신 시계 이름을 나타냅니다 . 이와 같은 옵션을 사용하면 해당 파일을 삭제하고 다시 생성하면 tail표시됩니다. 설명서에 적힌 대로:

--follow(-f)를 사용하면 tail은 기본적으로 다음 파일 설명자를 사용합니다. 즉, tail이 지정된 파일의 이름이 바뀌더라도 tail은 계속해서 끝을 따릅니다. 이 기본 동작은 파일 설명자(예: 로그 회전)가 아닌 파일의 실제 이름을 실제로 추적하려는 경우 바람직하지 않습니다. 이 경우에는 --follow=name을 사용하십시오. 이로 인해 tail은 이름 바꾸기, 삭제 및 생성을 수용하는 방식으로 명명된 파일을 추적합니다.

관련 정보