特定のディレクトリで実行されたすべてのイベントを記録するにはどうすればよいですか?
ある期間内に変更された各ディレクトリのエントリを記録したい。find . -type d -mmin -5
コマンドを使用しています。
これに加えて、ディレクトリを別の場所に移動したときに、以下のログの詳細を追加する必要があります。たとえば、
ディレクトリ「xyz」が「home / usr / xyz」から「home / usr / documents / xyz」に移動しました
特定のディレクトリで実行されたすべてのイベントを記録するにはどうすればよいですか?
ある期間内に変更された各ディレクトリのエントリを記録したい。find . -type d -mmin -5
コマンドを使用しています。
これに加えて、ディレクトリを別の場所に移動したときに、以下のログの詳細を追加する必要があります。たとえば、
ディレクトリ「xyz」が「home / usr / xyz」から「home / usr / documents / xyz」に移動しました
回答:
を使用する場合はLinux
、inotifywait
コマンドを試してください。ファイルまたはディレクトリでイベントをリッスンするように設計されています。
inotifywait -m -r /dir
while
ループを使用して出力をフィルタリングできます。
さらに、非常に軽量ですpoll()
。N秒ごとに行う必要はありません。これがすべての魔法です。
inotify
Linux固有ですが、質問にはLinuxタグが付いていません。ただし、このような優れたソリューションはOS固有のものになります。