디렉터리에서 실행된 모든 이벤트를 기록하는 방법은 무엇입니까?

디렉터리에서 실행된 모든 이벤트를 기록하는 방법은 무엇입니까?

특정 디렉터리에서 실행된 모든 이벤트를 기록하는 방법은 무엇입니까?

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

이 외에도 더 많은 세부 정보를 추가하고 싶습니다. 디렉터리가 다른 위치로 이동되면 다음과 같은 로그 세부 정보를 추가해야 합니다.

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

답변1

를 사용하는 경우 파일이나 디렉터리에서 이벤트를 수신하도록 설계된 명령을 Linux시도해야 합니다 .inotifywait

inotifywait -m -r /dir

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

또한 매우 가볍습니다. poll()N초마다 수행할 필요가 없습니다. 이것이 바로 마법입니다.

바라보다http://inotify-tools.sourceforge.net/

관련 정보