この記事では、シェルディレクトリリスナーと呼ばれるものについて説明します ウォッチャード。 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サーバーを再起動する場合に非常に役立ちます。