watcherd-Linuxでのディレクトリ変更のためのシェルリスナー

この記事では、シェルディレクトリリスナーと呼ばれるものについて説明します ウォッチャード。 Daemon watcherdはディレクトリの変更をチェックし、指定されたコマンドまたはシェルスクリプトを実行します。

watcherdのインストール

Ubuntu16.04の場合

ダウンロード

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

アーカイブを解凍

$ unzip master.zip 

unzipがインストールされていない場合は、実行してください

$ 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 watcherdが実行されました 'echo added aaa'、新しいディレクトリとそのフルパスを追加したwatcherdの詳細なメッセージを受け取りました。 ls -l トリガー出力。

次に、このディレクトリを削除して、出力を確認しましょう

$ rm -r test/aaa

だけで同じ出力が得られました echo deleted aaa。 しかし、する代わりに echo そこで任意のシェルコマンドを実行したり、任意のスクリプトを実行したりできます。

このデーモンは、nginxやapacheなどのWebサーバーで、Webサイトで新しいフォルダーを監視し、新しい構成ファイルを作成し、Webサーバーを再起動する場合に非常に役立ちます。