Pyinotify-Linux에서 실시간으로 파일 시스템 변경 모니터링


Pyinotify는 Linux에서 실시간으로 파일 시스템 변경 사항을 모니터링하기위한 간단하지만 유용한 Python 모듈입니다.

시스템 관리자는이를 사용하여 웹 디렉토리 또는 애플리케이션 데이터 스토리지 디렉토리와 같은 관심 디렉토리에 발생하는 변경 사항을 모니터링 할 수 있습니다.

이벤트 기반 알림 인 inotify (커널 2.6.13에 통합 된 Linux 커널 기능)에 따라 알림이 세 번의 시스템 호출을 통해 커널 공간에서 사용자 공간으로 내보내집니다.

pyinotiy의 목적은 세 가지 시스템 호출을 바인딩하고 그 위에 구현을 지원하여 이러한 기능을 조작하는 공통적이고 추상적 인 수단을 제공하는 것입니다.

이 기사에서는 Linux에서 pyinotify를 설치하고 사용하여 파일 시스템 변경 또는 수정을 실시간으로 모니터링하는 방법을 보여줍니다.

pyinotify를 사용하려면 시스템이 실행 중이어야합니다.

  1. Linux kernel 2.6.13 or higher
  2. Python 2.4 or higher

Linux에서 Pyinotify를 설치하는 방법

먼저 다음과 같이 시스템에 설치된 커널 및 Python 버전을 확인합니다.

# uname -r 
# python -V

종속성이 충족되면 pip를 사용하여 pynotify를 설치합니다. 대부분의 Linux 배포에서 Python 2> = 2.7.9 또는 python.org에서 다운로드 한 Python 3> = 3.4 바이너리를 사용하는 경우 Pip이 이미 설치되어 있습니다. 그렇지 않으면 다음과 같이 설치하세요.

# yum install python-pip      [On CentOS based Distros]
# apt-get install python-pip  [On Debian based Distros]
# dnf install python-pip      [On Fedora 22+]

이제 다음과 같이 pyinotify를 설치하십시오.

# pip install pyinotify

기본 저장소에서 사용 가능한 버전을 설치합니다. 안정적인 최신 버전의 pyinotify를 사용하려는 경우 표시된대로 git 저장소를 복제하는 것이 좋습니다.

# git clone https://github.com/seb-m/pyinotify.git
# cd pyinotify/
# ls
# python setup.py install

Linux에서 pyinotify를 사용하는 방법

아래 예에서는 스크린 샷에 표시된 것처럼 사용자 tecmint의 홈 (/ home/tecmint) 디렉토리에 대한 변경 사항을 root 사용자 (ssh를 통해 로그인)로 모니터링하고 있습니다.

# python -m pyinotify -v /home/tecmint

다음으로 웹 디렉토리 (/var/www/html/tecmint.com)의 변경 사항을 감시합니다.

# python -m pyinotify -v /var/www/html/tecmint.com

프로그램을 종료하려면 [Ctrl + C] 를 누르십시오.

참고 : 모니터링 할 디렉터리를 지정하지 않고 pyinotify를 실행하면 /tmp 디렉터리가 기본적으로 고려됩니다.

Github에서 Pyinotify에 대해 자세히 알아보기 : https://github.com/seb-m/pyinotify

지금은 여기까지입니다! "이 기사에서는 Linux에서 파일 시스템 변경 사항을 모니터링하는 데 유용한 Python 모듈 인 pyinotify를 설치하고 사용하는 방법을 보여주었습니다.

유사한 Python 모듈이나 관련 Linux 도구/유틸리티를 보셨습니까? 의견을 통해 알려주십시오.이 기사와 관련하여 질문을 할 수도 있습니다.