inotify
是 Linux 內核提供的一種文件系統事件監控機制,可以用來監控文件或目錄的變化,如創建、刪除、修改等。在 Debian 系統中,你可以使用 inotify-tools
包來方便地使用 inotify
。
以下是在 Debian 系統中配置和使用 inotify
的步驟:
inotify-tools
首先,你需要安裝 inotify-tools
包。打開終端并運行以下命令:
sudo apt update
sudo apt install inotify-tools
inotifywait
和 inotifywatch
安裝完成后,你可以使用 inotifywait
和 inotifywatch
命令來監控文件系統事件。
inotifywait
inotifywait
命令用于實時監控文件或目錄的變化?;居梅ㄈ缦拢?/p>
inotifywait [選項] 目標路徑
一些常用的選項包括:
-m
:持續監控,直到手動終止。-r
:遞歸監控目錄及其子目錄。-e
:指定要監控的事件,如 create
, delete
, modify
等。例如,監控當前目錄下的所有文件和子目錄的創建和刪除事件:
inotifywait -m -r -e create,delete .
inotifywatch
inotifywatch
命令用于統計文件系統事件的發生次數?;居梅ㄈ缦拢?/p>
inotifywatch [選項] 監控時間 目標路徑
一些常用的選項包括:
-t
:指定監控時間(秒)。-e
:指定要監控的事件。例如,監控當前目錄下的文件系統事件 60 秒,并輸出統計結果:
inotifywatch -t 60 -e create,delete,modify .
你可以編寫一個簡單的腳本來自動化監控任務。例如,以下腳本監控 /var/log
目錄下的所有文件變化,并將事件記錄到日志文件中:
#!/bin/bash
LOG_FILE="/var/log/inotify.log"
MONITOR_DIR="/var/log"
# 清空日志文件
> $LOG_FILE
# 持續監控并記錄事件
inotifywait -m -r -e create,delete,modify --format '%w%f %e' $MONITOR_DIR >> $LOG_FILE
將上述腳本保存為 monitor.sh
,然后賦予執行權限并運行:
chmod +x monitor.sh
./monitor.sh
inotify
有文件描述符數量的限制,可以通過調整內核參數來增加限制。通過以上步驟,你可以在 Debian 系統中配置和使用 inotify
來監控文件系統事件。