디렉토리에서 수행 된 모든 이벤트를 기록하는 방법?


12

특정 디렉토리에서 수행 된 모든 이벤트를 어떻게 기록 할 수 있습니까?

일정 시간 내에 수정 된 각 디렉토리의 항목을 기록하고 싶습니다. find . -type d -mmin -5명령을 사용하고 있습니다.

이 외에도 디렉토리를 다른 곳으로 옮길 때 더 자세한 정보를 넣고 싶습니다. 예를 들어 아래 로그 세부 정보를 추가해야합니다.

"xyz"디렉토리가 "home / usr / xyz"=>에서 "home / usr / documents / xyz"로 이동했습니다.

답변:


9

를 사용하는 경우 명령 Linux을 시도해야 inotifywait하며 파일 또는 디렉토리에서 이벤트를 수신하도록 설계되었습니다.

inotifywait -m -r /dir

while루프를 사용 하여 출력을 필터링 할 수 있습니다 .

더욱이, 그것은 매우 가볍습니다. poll()매 N 초마다 필요하지 않습니다. 그것이 모든 마법입니다.

http://inotify-tools.sourceforge.net/을 참조하십시오


URL 프로젝트 문서가 추가되었습니다.
Gilles Quenot

inotifyLinux에만 해당되지만 질문에는 Linux 태그가 없습니다. 좋은 솔루션은 이와 같은 OS 고유의 솔루션이 될 것입니다.
jordanm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.