ค้นหาเว็บไซต์

Pyinotify - ตรวจสอบการเปลี่ยนแปลงระบบไฟล์แบบเรียลไทม์ใน Linux


Pyinotify เป็นโมดูล Python ที่เรียบง่ายแต่มีประโยชน์สำหรับการตรวจสอบการเปลี่ยนแปลงระบบไฟล์แบบเรียลไทม์ใน Linux

ในฐานะผู้ดูแลระบบ คุณสามารถใช้มันเพื่อตรวจสอบการเปลี่ยนแปลงที่เกิดขึ้นกับไดเร็กทอรีที่น่าสนใจ เช่น ไดเร็กทอรีเว็บหรือไดเร็กทอรีที่จัดเก็บข้อมูลแอปพลิเคชัน และอื่นๆ

การอ่านที่แนะนำ: fswatch – ตรวจสอบไฟล์และการเปลี่ยนแปลงไดเร็กทอรีหรือการแก้ไขใน Linux

ขึ้นอยู่กับ ไม่แจ้งเตือน (คุณลักษณะเคอร์เนล Linux ที่รวมอยู่ในเคอร์เนล 2.6.13) ซึ่งเป็นตัวแจ้งเตือนที่ขับเคลื่อนด้วยเหตุการณ์ การแจ้งเตือนจะถูกส่งออกจากพื้นที่เคอร์เนลไปยังพื้นที่ผู้ใช้ผ่านการเรียกของระบบสามครั้ง

วัตถุประสงค์ของ pyinotiy คือการผูกการเรียกของระบบทั้งสามรายการ และสนับสนุนการใช้งานที่นอกเหนือไปจากนั้น โดยให้วิธีการทั่วไปและเป็นนามธรรมในการจัดการกับฟังก์ชันการทำงานเหล่านั้น

ในบทความนี้ เราจะแสดงวิธีการติดตั้งและใช้ pyinotify ใน Linux เพื่อตรวจสอบการเปลี่ยนแปลงหรือแก้ไขระบบไฟล์แบบเรียลไทม์

การพึ่งพาอาศัยกัน

ในการใช้ pyinotify ระบบของคุณต้องทำงานอยู่:

  1. เคอร์เนล Linux 2.6.13 หรือสูงกว่า
  2. Python 2.4 หรือสูงกว่า

วิธีการติดตั้ง Pyonotify ใน Linux

เริ่มต้นด้วยการตรวจสอบเวอร์ชันของเคอร์เนลและ Python ที่ติดตั้งบนระบบของคุณดังนี้:

uname -r 
python -V

เมื่อเป็นไปตามการขึ้นต่อกัน เราจะใช้ pip เพื่อติดตั้ง pynotify ในลีนุกซ์ส่วนใหญ่ Pip จะถูกติดตั้งไว้แล้ว หากคุณใช้ไบนารี่ Python 2 >=2.7.9 หรือ Python 3 >=3.4 ที่ดาวน์โหลด จาก 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

วิธีใช้ pyinotify ใน Linux

ในตัวอย่างด้านล่าง ฉันกำลังติดตามการเปลี่ยนแปลงใดๆ ในไดเร็กทอรีโฮม (/home/tecmint) ของผู้ใช้ tecmint ในฐานะผู้ใช้รูท (เข้าสู่ระบบผ่าน ssh) ดังที่แสดงในภาพหน้าจอ:

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 จะได้รับการพิจารณาตามค่าเริ่มต้น .

ค้นหาเพิ่มเติมเกี่ยวกับ Pyinotify บน Github: https://github.com/seb-m/pyinotify

นั่นคือทั้งหมดที่สำหรับตอนนี้! ในบทความนี้ เราได้แสดงวิธีการติดตั้งและใช้ pyinotify ซึ่งเป็นโมดูล Python ที่มีประโยชน์สำหรับการตรวจสอบการเปลี่ยนแปลงระบบไฟล์ใน Linux

คุณเคยเจอโมดูล Python ที่คล้ายกันหรือเครื่องมือ/ยูทิลิตี้ Linux ที่เกี่ยวข้องบ้างไหม? แจ้งให้เราทราบในความคิดเห็น บางทีคุณอาจถามคำถามที่เกี่ยวข้องกับบทความนี้ได้เช่นกัน