폴더 내용 변경 모니터링


18

tail -f 명령을 사용하여 파일의 내용 변경을 모니터링 할 수 있습니다

tail -f가 파일을 모니터링하는 방식으로 디렉토리 구조의 변경 사항을 모니터링하는 비슷한 방법이 있습니까?

디렉토리 아래의 특정 경로에 파일을 추가하는 오래 실행되는 프로세스가 있으며 디렉토리 또는 하위 디렉토리에 파일을 쓸 때 파일 수신을 추적하려고합니다.

답변:


27

inotify커널 시스템 당신이 필요합니다.

  1. 설치 inotify-tools:

    sudo apt-get install inotify-tools
    
  2. 시계 설정 :

    inotifywait /path/to/directory --recursive --monitor
    
  3. 앉아서 출력을 관찰하십시오.


보낸 사람 man inotifywait:

-m, --monitor
   Instead of exiting  after  receiving  a  single  event,  execute
   indefinitely.   The default behaviour is to exit after the first
   event occurs.
-r, --recursive
   Watch all subdirectories of any directories passed as arguments.
   Watches will be set up recursively to an unlimited depth.   Sym‐
   bolic  links  are  not  traversed.  Newly created subdirectories
   will also be watched.

--event옵션을 사용하여 작성, 수정 등과 같은 특정 이벤트를 감시 할 수 있습니다 .


1
어느 누구도이 문제에 부딪 칠 경우 :. inotify를 시계에 상한은 여기에 도달 blog.sorah.jp/2012/01/24/inotify-limitation
johan.i.zahri

1
내 서버 중 하나에 나는 더 이상이라고 발견되지 inotify-wait는 그냥 inotifywait. 하이픈을 제거하려면 이름을 변경해야합니다.
Jamesking56

@ Jamesking56 하이픈을 편집했습니다.
muru

inotifywait에 대한 도움말은 파일 경로 앞에 옵션이 필요하다고 말합니다.
Felix Dombek

8

--events필터가 아니므로를 사용해야 --event합니다. 예를 들어, 다음은 create / modify 이벤트를 모니터링하기위한 명령 줄입니다.

# inotifywait . --recursive --monitor --event CREATE --event MODIFY

그런 다음 참조하십시오 :

Setting up watches.  Beware: since -r was given, this may take a while!

피드 형식은 다음과 같습니다.

[path] [event] [file]

예 :

./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
./.mozilla/firefox/b4ar08t6.default/ MODIFY cookies.sqlite-wal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.