Pyinotify - Linux에서 실시간으로 파일 시스템 변경 사항 모니터링
Pyinotify는 Linux에서 실시간으로 파일 시스템 변경 사항을 모니터링하는 간단하면서도 유용한 Python 모듈입니다.
시스템 관리자는 이를 사용하여 웹 디렉터리, 애플리케이션 데이터 저장소 디렉터리 등 관심 디렉터리에 발생하는 변경 사항을 모니터링할 수 있습니다.
권장 읽기: fswatch – Linux에서 파일 및 디렉터리 변경 또는 수정 사항을 모니터링합니다.
이는 이벤트 기반 알리미인 inotify(커널 2.6.13에 통합된 Linux 커널 기능)에 따라 달라지며 해당 알림은 세 가지 시스템 호출을 통해 커널 공간에서 사용자 공간으로 내보내집니다.
pyinotiy의 목적은 세 가지 시스템 호출을 바인딩하고 그 위에 해당 기능을 조작하기 위한 공통적이고 추상적인 수단을 제공하는 구현을 지원하는 것입니다.
이 기사에서는 Linux에서 pyinotify를 설치하고 사용하여 파일 시스템 변경 또는 수정을 실시간으로 모니터링하는 방법을 보여줍니다.
종속성
pyinotify를 사용하려면 시스템이 실행 중이어야 합니다.
- Linux 커널 2.6.13 이상
- 파이썬 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 도구/유틸리티를 본 적이 있습니까? 댓글을 통해 알려주세요. 이 기사와 관련하여 질문을 하실 수도 있습니다.