フォルダ内の新しいファイルを監視し、新しいファイルが検出された場合にコマンドを実行するツール

フォルダ内の新しいファイルを監視し、新しいファイルが検出された場合にコマンドを実行するツール

新しいファイルがフォルダに追加されたらすぐに検出する方法スクリプト?

フォルダにファイルが作成されるとすぐに、スクリプトがファイルを処理できるようにしたいと思います。時間を合わせる以外に他の方法はありませんか?毎分新しいファイルを確認する作業ですか?

ベストアンサー1

使用を検討する必要があります。inotifywait、例えば:

inotifywait -m /path -e create -e moved_to |
    while read dir action file; do
        echo "The file '$file' appeared in directory '$dir' via '$action'"
        # do something with the file
    done

Ubuntuinotifywaitではinotify-toolsパック

バージョン3.13(現在Ubuntu 12.04)以降、inotifywaitオプションのないファイル名が含まれています-f。以前のバージョンでは強制実行が必要な場合があります。

-e選択はイベントinotifywaitフィルタリングを実行する最良の方法です。また、readコマンドを使用すると、使用または無視を選択できる複数の変数に位置出力を割り当てることができます。出力を前処理するためにgrep / sed / awkを使用する必要はありません。

おすすめ記事