GNU/Linux >> Linux の 問題 >  >> Linux

新しいファイルのフォルダを監視するスクリプト?

新しいファイルがbashスクリプト内のフォルダーに追加されたことをすぐに検出するにはどうすればよいですか?フォルダにファイルが作成されたらすぐにスクリプトでファイルを処理したいと思います。 1分ごとに新しいファイルをチェックするcronジョブをスケジュールする以外に方法はありますか?

承認された回答:

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

Ubuntuの場合inotifywait inotify-toolsによって提供されます パッケージ。バージョン3.13以降(Ubuntu 12.04で現在)inotifywait -fオプションなしのファイル名が含まれます。古いバージョンは強制する必要があるかもしれません。注意すべき重要なことは、-e inotifywaitのオプション イベントフィルタリングを行うための最良の方法です。また、read コマンドは、使用するか無視するかを選択できる複数の変数に位置出力を割り当てることができます。出力を前処理するためにgrep/sed/awkを使用する必要はありません。


Linux
  1. 一時データの疑似ファイル?

  2. フォルダ内に新しく作成されたファイルに自動的にアクセス許可を付与しますか?

  3. 新規ユーザーのために/etc/ skelをプログラムでクローンしますか?

  1. ディレクトリ内のすべての zip ファイルに専用のフォルダーを作成し、zip ファイルを抽出します

  2. inotify-tools を使用して、複数のディレクトリ内で再帰的に新しいファイルを継続的に検出します

  3. 共有フォルダー内の新しいファイルを監視するスクリプト (Windows ホスト、Linux ゲスト)

  1. Inotifywaitを使用して、特定の拡張子のファイルを作成するためのディレクトリを監視する方法は?

  2. WWW フォルダに Linux のアクセス許可を設定するにはどうすればよいですか?

  3. PXELinux のセットアップ時に syslinux 構成ファイルの新しい場所を定義する