在 CentOS 系統中,inotify 和 cron 任務可以一起使用,以便在文件或目錄發生變化時自動執行某些任務
首先,確保已經安裝了 inotify-tools。如果沒有,請運行以下命令來安裝:
sudo yum install inotify-tools
創建一個名為 inotify_cron.sh 的 shell 腳本,用于處理 inotify 事件。在這個腳本中,你可以添加需要在文件或目錄發生變化時執行的命令。
例如,以下腳本會在 /path/to/your/directory 目錄中的文件發生變化時,將事件信息發送到你的郵箱:
#!/bin/bash
DIRECTORY="/path/to/your/directory"
EMAIL="your-email@example.com"
inotifywait -m -r -e modify,attrib,close_write,move,create,delete --format '%w%f %e' "${DIRECTORY}" | while read FILE_EVENT
do
echo "File event: ${FILE_EVENT}" | mail -s "Inotify Alert" "${EMAIL}"
done
確保為腳本設置可執行權限:
chmod +x inotify_cron.sh
現在,你需要設置一個 cron 任務,以便定期運行 inotify_cron.sh 腳本。運行以下命令來編輯當前用戶的 crontab 文件:
crontab -e
在打開的編輯器中,添加以下行以每分鐘運行一次 inotify_cron.sh 腳本:
* * * * * /path/to/inotify_cron.sh
保存并關閉編輯器?,F在,cron 任務將每分鐘運行一次 inotify_cron.sh 腳本,并在檢測到文件或目錄變化時執行相應的操作。
注意:根據實際需求調整 inotifywait 參數和 cron 任務的時間間隔。