- 締切済み
ディレクトリ監視シェルスクリプト
お世話になっております。 現在、特定のディレクトリを監視するという仕事をしております。 そこで、監視を人ではなく、シェル(ツール)化しようと考えております。そこでご相談があります。 以下の手順ができるようなシェルを作成しようと考えております。 ---------------------------------------------------------------- 例) /home配下にディレクトリまたはファイルが追加された場合。 以下の対話処理が走り、yを押すとhoge-serverのサービスが 再起動され、n(y以外)を押すと何もしない。 ↓ echo"/home配下にhogeディレクトリが作成されました。" echo"サービスを再起動しますか?(y/n)" read lm if [ $lm -eq y ]; then /sbin/service hoge-service restart ---------------------------------------------------------------- 肝心の/home配下の監視という部分がよくわかりませんでした。 どなたかわかる方がいたら教えて下さい。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- u-kid
- ベストアンサー率50% (34/67)
Linux系カテゴリーでのご質問なので、Linux(それも新しめのディストリビューションですが)での解です。 inotify-toolsにinotifywaitというコマンドがあります。これはkernelのinotify APIを使って、指定したディレクトリ、ファイルの変更を監視し、変化が有れば標準出力に変化のあったファイル、ディレクトリと変化の内容を出力しますので、その結果を使うようにすれば良いと思います。 hoge=`inotifywait -e create /home` echo -n $hoge echo ", Do you want to start a service?" ... という感じでしょうか。$hogeには /home CREATE test.msg のような文字が入ります。
- tux_the_penguin
- ベストアンサー率42% (69/163)
ls -a を wc -l で数えるとか
- Ceren
- ベストアンサー率49% (90/183)
> /home配下にディレクトリまたはファイルが追加された場合。 であれば、「findを実行して前回との差分を取る」とかではダメですか?