2013-12-17 4 views
2

파일 시스템을 모니터링하는 프로그램을 작성하고 있습니다. 하지만 파일이 삭제 된 것을 감지 할 수는 없습니다. 나는 FAN_MARK_ONLYDIR 플래그로 모니터링을 시도했는데, 모니터링 된 dir, no 결과에서 파일을 삭제할 때 fanotify 상승 이벤트가 필요했다.파일 검색 방법이 삭제되었습니다.

fanotify를 사용해도 가능합니까? 이 일을 도와 줄 수있는 것이 있습니까?

답변

3

linuxquestions.org threadfanotify에 따르면 파일 바꾸기 또는 삭제 또는 하위 디렉터리 만들기, 이름 바꾸기 또는 삭제가 감지되지 않습니다. 다른 파일 또는 디렉토리 변경 모니터 중에서 inotify, dnotify, fam, Fanotify, tripwire, Python-fuse,llfuse (파이썬)을 비교 (또는 언급) 한 baach.de discussion도 참조하십시오.

inotifyIN_DELETEIN_DELETE_SELF 이벤트를 지원하며 전체 파일 시스템이 아닌 제한된 수의 디렉토리로 작업하는 경우 사용하는 것이 실용적입니다.

편집 : 다음과 같다inotify 중 제한 또는 웹 페이지에서 언급 한주의 사항 : 디렉토리의

inotify 모니터링이 순환되지 않습니다 : 디렉토리에서 하위 디렉토리를 모니터링하는 추가 시계를 만들어야합니다. 이것은 큰 디렉토리 트리에 상당한 시간이 걸릴 수 있습니다. ... 전체 디렉토리 하위 트리를 모니터링하고 해당 트리에 새 서브 디렉토리가 작성된 경우, 새 서브 디렉토리에 대한 감시를 작성할 때 새 디렉토리가 이미 서브 디렉토리에 작성되었을 수 있습니다. 따라서 시계를 추가 한 직후 서브 디렉토리의 내용을 스캔 할 수 있습니다.

+0

전체 파일 시스템으로 작업하고 있지만 IN_ELT와 IN_DELETE_SELF를 inotify에서 확인합니다. 왜 전체 파일 시스템에 실용적이지 않다고 생각하십니까? 나는 너의 의견을 읽고 싶다. –

+0

@RaydelMiranda, 작은 파일 시스템으로도 괜찮은지, 아니면 점진적으로 시작할 수는 있지만 매뉴얼 페이지 (편집 참조)와 baach.de 토론에서 언급했듯이 모든 서브 디렉토리에 대한 감시를 설정하면 동안. –

+0

디렉토리를 재귀 적으로 모니터 할 수 없으므로 처음부터 inotify를 사용하지 않았습니다. fanotify는 마운트 지점에서 작업 할 때만 수행합니다. 참조 : http://stackoverflow.com/questions/19528432/fanotify-recursivity-does-really-works/19543049#19543049 –