웹사이트 검색

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


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

시스템 관리자는 이를 사용하여 웹 디렉터리, 애플리케이션 데이터 저장소 디렉터리 등 관심 디렉터리에 발생하는 변경 사항을 모니터링할 수 있습니다.

권장 읽기: fswatch – Linux에서 파일 및 디렉터리 변경 또는 수정 사항을 모니터링합니다.

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

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

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

종속성

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

  1. Linux 커널 2.6.13 이상
  2. 파이썬 2.4 이상

Linux에 Pyinotify를 설치하는 방법

먼저 다음과 같이 시스템에 설치된 커널 및 Python 버전을 확인하여 시작하십시오.

uname -r 
python -V

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

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를 사용하는 방법

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

python -m pyinotify -v /home/tecmint

다음으로 웹 디렉토리(/var/www/html/linux-console.net)에 대한 변경 사항을 계속 감시하겠습니다.

python -m pyinotify -v /var/www/html/linux-console.net

프로그램을 종료하려면 [Ctrl+C]를 누르세요.

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

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

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

유사한 Python 모듈이나 관련 Linux 도구/유틸리티를 본 적이 있습니까? 댓글을 통해 알려주세요. 이 기사와 관련하여 질문을 하실 수도 있습니다.