[解決済み] Linuxでディレクトリツリーの変更を監視するには?
質問
どのようにすれば ディレクトリツリー全体 を監視することができますか? ext3 ファイルシステム) の変更に対応していますか?
現在、ディレクトリには約 50 万個のファイル で、約 3,000 のサブディレクトリ であり、3つのディレクトリ階層で構成されています。
それらはほとんど小さなファイルです (< 1kb, いくつかの最大 100kb). これは一種のキューであり、ファイルが作成、削除されたとき、またはその内容が 5-10 秒以内に変更されたときに、それを知る必要があります。
があることは知っています。 inotify といったものがあるのは知っていますが、AFAIK ではこれらは単一のディレクトリを監視するだけなので、私の場合は 3,000 個の inotify ハンドルを必要とすることになります。それとも私が間違っているのでしょうか?
Linux システムが私が必要とするものを教えてくれない場合、おそらくは FUSE プロジェクトで、ファイルシステムをシミュレートし (実際のファイルシステム上のすべてのファイルアクセスを複製し)、すべての変更を個別にログに記録するものがあるかもしれません (見つけられませんでした)。
どのように解決するのですか?
私の知る限りでは、再帰的に
inotify
を各ディレクトリに再帰的に設定する以外に方法はありません。
とはいえ、ファイルディスクリプタが足りなくなることはないでしょうから
inotify
は、ファイルやディレクトリを監視するために fd を予約する必要がないからです(その前身である
dnotify
はこの制限に悩まされていました)。
inotify
は、代わりに "watch descriptors" を使用します。
のドキュメントによると
inotifywatch
のドキュメントによると、デフォルトの上限は 8192 個のウォッチディスクリプタで、これを増やすには、新しい値を
/proc/sys/fs/inotify/max_user_watches
.
関連
-
virtualboxが仮想マシンを開けない場合は?linuxがvirtualboxにアクセスできない時の解決策
-
Linux Mintで入力メソッドを削除する方法は?Linux Mintで冗長な入力メソッドを削除するためのヒント
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] find .コマンドでディレクトリを除外する方法
-
[解決済み] LinuxのシェルスクリプトでYes/No/Cancelの入力を促すにはどうしたらいいですか?
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] Linuxのディレクトリ内のファイルを再帰的にカウントする
-
[解決済み] ターミナルで現在の日付と時刻を取得し、それに対してターミナルでカスタムコマンドを設定するにはどうすればよいですか?[クローズド]です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
centos7 インストール クリックハウスとセット ユーザー名 パスワード ケース 詳細
-
Kali Linuxのマウスライトテーマを変更する方法は?マウスカーソルのテーマを変更するためのヒント
-
ディープインシステムの画面解像度を設定する方法は?ディープインシステムの解像度を設定する方法
-
TclError: 表示名がなく、$DISPLAY環境変数もない。
-
GCCのバージョンによる浮動小数点演算の例外発生
-
リクエスト・エンティティが大きすぎる問題の解決策
-
Apache の一般的な設定エラー
-
[解決済み] Linuxでデータファイルから最初の列(実際には行名)を削除する方法は?
-
[解決済み] エクスポートされた環境変数を削除する方法を教えてください。
-
[解決済み] bashスクリプトでset -eはどういう意味ですか?