watcherd – Linux 上目錄更改的 Shell 偵聽器

在本文中,我將告訴您有關 shell 目錄偵聽器稱為 守望者. Daemon watcherd 將檢查目錄更改並執行指定的命令或 shell 腳本。

安裝觀察者

在 Ubuntu 16.04 上

下載

$ wget https://github.com/devilbox/watcherd/archive/master.zip

解壓存檔

$ unzip master.zip 

如果你沒有安裝解壓縮執行

$ sudo apt-get install unzip

並複製到 /usr/bin/

$ sudo cp watcherd-master/watcherd /usr/bin/

用法

現在我們可以執行 --help 旗幟

$ watcherd --help

讓我們創建一個名為 test 的目錄並使 watcherd 工作

$ mkdir test

現在用簡單的參數啟動 watcherd

$ watcherd -v -p ~/test -a "echo added %n" -d "echo deleted %n" -t "ls -l ~/test" 

關於 watcherd 參數的一點提示

  • -v 詳細輸出
  • -p ~/test 目錄路徑
  • -a "echo added %n" 執行 "echo added" 如果在路徑中創建了任何目錄
  • -d "echo deleted %n" 執行 "echo deleted" 如果路徑中的任何目錄被刪除
  • %n 將替換為目錄名稱,或者您可以使用 %p 獲取已創建或已刪除目錄的完整路徑
  • -t "ls -l ~/test" 觸發後執行命令
  • & 在後台運行

並檢查它是否正在運行

$ ps ax | grep watcherd

現在我們可以嘗試創建一個名為的新目錄 aaa 在我們的測試文件夾中

$ mkdir test/aaa

正如我們在創建目錄後所見 aaa 被執行的觀察者 'echo added aaa',我們收到了 watcherd 詳細消息,添加了一個新目錄及其完整路徑, ls -l 觸發輸出。

現在讓我們刪除這個目錄並檢查輸出

$ rm -r test/aaa

我們得到了相同的輸出 echo deleted aaa. 但不是做 echo 您可以在那裡執行任何 shell 命令或運行任何腳本。

這個守護進程對於 nginx 或 apache 等 web 服務器非常有用,用於監視帶有網站的新文件夾、創建新配置文件和重新啟動 web 服務器。