Chào các bạn, hôm nay KienThucLinux sẽ giới thiệu đến các bạn công cụ được viết bằng Python dùng để Monitor sự thay đổi của file trong hệ thống Linux theo thời gian thực (real-time).

Công cụ này sẽ rất hữu ích, đặc biệt là với những bạn đang quản trị website hoặc máy chủ, bạn có thể dùng để monitor sự thay đổi trong thư mục chứa mã nguồn chẳng hạn. Công cụ này tên là pyinotify, nó phát triển dựa vào inotify (một tính năng được tích hợp trong linux kernel 2.6.13), nó có chức năng thông báo sự kiện, inotify lấy sự kiện từ kernel space đến user space thông qua system call.

Mục đích của pyinotify là liên kết với ba cuộc gọi hệ thống và hiển thị lên terminal một cách khái quát những thao tác ghi được trên kernel. Nào mình cùng cài đặt và sử dụng thử nhé.

Yêu cầu

  • Linux kernel 2.6.13 hoặc cao hơn.
  • Python 2.4 hoặc cao hơn.

Cài đặt

Thực hiện 2 lệnh check sau để xem kernel và phiên bản Python đã phù hợp chưa.

# uname -r 
# python -V

Cài đặt Python-pip, đây như là repo chứa module mình cần và cũng chứa hầu hết các module của Python

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

tiếp đến sử dụng pip để cài inotify

pip install pyinotify

Sử dụng

Cách sử dụng đơn giản lắm. bạn chỉ cần chạy lệnh sau:

python -m pyinotify -v /home/

ở một màn hình terminal khác các bạn thử tạo ra một thư mục mang tên kienthuclinux và một file tên linux.txt và quay lại màn hình monitor sẽ thấy thay đổi như thế nào nhé.

monitor sự thay đổi của file
monitor sự thay đổi của file

Để kết thúc monitor chúng ta nhấn tổ hợp phím ctrl + C, khi chúng ta monitor mà không chỉ định thư mục cụ thể thì mặc định pyinotify sẽ lấy thư mục /tmp.

Hướng dẫn của KienThucLinux đến đây là hết rồi, để biết thêm nhiều hơn thông tin về công cụ hữu ích này các bạn tham khảo thêm tại đây nhé: https://github.com/seb-m/pyinotify

Cám ơn các bạn đã theo dõi!

Leave a Reply

Your email address will not be published. Required fields are marked *