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

Linux での完全なディレクトリ ツリーの変更を監視する方法は?

inotifywait を使用して同様のことを行いました ツール:

#!/bin/bash
while true; do

inotifywait -e modify,create,delete -r /path/to/your/dir && \
<some command to execute when a file event is recorded>

done

これにより、ツリー全体に再帰的なディレクトリ ウォッチが設定され、何かが変更されたときにコマンドを実行できるようになります。変更を表示したいだけの場合は、 -m を追加できます 監視モードにするためのフラグ


私の知る限り、再帰的に inotify を設定する以外に方法はありません 各ディレクトリで監視してください。

とはいえ、inotify であるため、ファイル記述子が不足することはありません。 ファイルまたはディレクトリを監視するために fd を予約する必要はありません (その前身である dnotify 、この制限に悩まされていました)。 inotify 代わりに「監視記述子」を使用します。

inotifywatch のドキュメントによると、デフォルトの制限は 8192 の監視記述子であり、新しい値を /proc/sys/fs/inotify/max_user_watches に書き込むことで増やすことができます .


$ inotifywait -m -r /path/to/your/directory

このコマンドは、アクセス、オープン、作成、削除などのすべてのイベントについてディレクトリを再帰的に監視するのに十分です...


Linux
  1. Linuxですべてのユーザーの共有ディレクトリを作成する方法

  2. Linux –ツリーとディレクトリサイズを組み合わせる方法は?

  3. C++/Linux でディレクトリ ツリーを作成するにはどうすればよいですか?

  1. Linuxシンボリックリンクを更新する方法

  2. Linuxのディレクトリツリーで最も古いファイルを見つける方法

  3. Linuxでディレクトリのコンテンツ全体で単語を検索する方法

  1. Linuxでディレクトリの名前を変更する方法

  2. Linuxでディレクトリをgzipで圧縮する方法

  3. Linuxでディレクトリサイズを取得する方法