저는 특정 디렉토리의 생성, 수정 및 속성 변경을 모니터링하기 위해 Ubuntu 18.4 시스템에서 inotify
(구현을 통해 )를 사용하고 있습니다.pyinotify
저는 IN_CREATE, IN_MOVED_TO, IN_MOVED_FROM, IN_MODIFY 및 IN_ATTRIB 감시 플래그를 사용합니다.
inotify
파일에 대한 이러한 변경 사항 중 하나를 발견하면 내가 하는 일 중 하나는 파일에 대해 작업을 수행하는 것입니다 . chmod
때로는 chown
. 예를 들어, 이러한 감시 파일 중 하나의 수정 날짜가 변경된 경우(예를 들어, 명령을 통해 touch
) 또는 파일 크기가 변경되면 chmod
파일에 대해 a 및 가능하면 a를 수행합니다.chown
그러나 IN_ATTRIB 감시 플래그를 사용할 때 chmod
및 chown
플래그는 또 다른 IN_ATTRIB 변경을 트리거하여 명령을 다시 실행하게 하고 결과적으로 IN_ATTRIB가 파일을 계속해서 인식하게 하여 동일한 변경 주기가 발생하게 됩니다.
나는 이런 상황을 피하고 싶다. 이를 수행할 수 있는 한 가지 방법은 chmod
발행하기 전에 권한과 소유권을 확인하거나 chown
실제로 변경이 필요한 경우 그 중 하나만 실행하는 것입니다. 그러나 감시자의 변경 사항이 무시되도록 하는 inotify
방법이 있는지 궁금합니다 .pyinotify
특정 파일 보기를 일시적으로 비활성화할 수 있다는 것을 알고 있지만 파일을 다시 수정해야 할 경우를 대비해 어느 시점에서 보기를 다시 활성화해야 합니다.
chmod
발행하기 전에 권한과 소유권을 확인하는 것 외에 chown
내가 하고 싶은 일을 수행할 수 있는 다른 방법이 있습니까 ?
미리 감사드립니다.
답변1
아무런 답변도 얻지 못했고 추가 조사를 통해 inotify
파일 및 디렉터리에 대한 변경 사항을 무시하는 방법에 대한 정보가 없다는 점을 고려하면 이제 코딩 논리가 부족하기 때문에 이를 수행할 방법이 없다고 가정합니다. 내 모니터링 루틴을 실제로 수행하려면 자산이나 소유권이 실제로 현재 예상 값과 다르지 않는 한 chmod
호출 되지 않습니다 .chown
이를 위해서는 내 코드에 많은 추가 논리가 필요했지만 문제도 해결되었습니다.