Linuxシステムで最後にリストを生成してから変更されたファイルのリストを生成する必要があります。私はユーザー空間でこれを行う必要があるので、解決策のようなFAMは私のために合っていません。Linuxユーザー空間から変更されたファイルを検出する
- ターゲットソリューションの両方
ext2
とext3
ファイル・システム上で使用することができます。これを行うには、私は以下のいくつかの制約があります。 - ユーザ空間に実装する必要があります。カーネルの変更やモジュールは許可されていません。
- ファイルの変更時刻に依存してはいけません。少なくともファイルサイズを使用するか、より良いチェックサムアルゴリズムを使用してdeltaを生成する必要があります。
- リアルタイムである必要はなく、定期的に(たとえば10分ごとに)実行されます。
誰もがこのタスクのために既に実装されている解決策を知っていますか?私はこの目的のためにrsync
を使ってみましたが、rsync
は違いを計算するためにすべてのファイルのコピーが必要です。
EDIT
基本的に私は、再帰的に指定したディレクトリ下のファイルとそのデルタのリストをgenratesし、前のものと比較メカニズムが必要です。差分を生成するためにファイルサイズを使用する場合があります(rsync algorithmに似ています)。しかし、MD5やSHA1のような暗号化ハッシュアルゴリズムは、その性能のために私には適していません。私は何千ものファイルを持っているのではなく、これは暗号の場合ではありません。
カーネル上で変更が必要なリアルタイムソリューションまたは解決策(inotify
、kqueue
、FAM、Fuseなど)は、私にとっては適していません。
ありがとうございます。
;-)これらの提案は、あなたがクールなツールを作成するのに役立つ願っていますが、偽の実行に-nスイッチにコマンド –
@sputnickを持っていることは、将来のための違いを保存してい '切り替える-n'さえで実行されますか? –
あなたに役立つPythonスクリプトを追加しました。それはまあまあまあです。あなたがマウントポイントを持っている場合は、それらをフィルタリングしてf.eを越えないようにすることができます。 '/ proc'です。 – hochl