2011-11-22 4 views
5

일부 프로세스가 리눅스에서 실행중인 로그 파일을 모니터하려고합니다 (로그 엔트리가 발생했을 때 함께 그룹화되는 공동 로그 파일을 생성합니다).). 현재 로그 파일을 열고 Inotify (또는 래퍼)를 폴링 한 다음 파일을 더 읽을 수 있는지 확인합니다.로그 파일을 모니터링하는 더 좋은 방법이 있습니까? (linux/python)

더 좋은 방법이 있습니까? 아마도 파일을 읽거나 변경 한 내용을 추상화 한 라이브러리일까요?

+0

'select()'를 사용해 보셨나요? – hochl

+0

Inotify 또는 폴링 수정 시간이 가장 좋습니다. –

+0

@hochl'select'는 파일 디스크립터가 읽혀 지거나 쓰여질 수 있는지를 검사합니다. 디스크립터 (주로 디스크립터가 될 수도 있음)가 "소스"가 수정되었는지 검사하지 않습니다. –

답변

0

직접 작성하는 경우 다음과 같이 할 수 있습니다. 파일 수정을 감지 한 경우 파일 크기를 확인하십시오. 지난 번보다 큰 경우 이전의 '마지막'위치 (예 : 이전 크기)로 탐색하여 거기에서 읽을 수 있습니다.

3

"꼬리 -f"로 충분하지 않은 이유는 무엇입니까? popen과 pipe를 사용하여 파이썬에서 이것을 처리 할 수 ​​있습니다.

관련 문제