大規模な入れ子になったディレクトリ内のすべてのファイルのチェックサムを取得する簡単な方法

大規模な入れ子になったディレクトリ内のすべてのファイルのチェックサムを取得する簡単な方法

ユーザーがアップロードしたコンテンツをフィルタリングする必要があるという要件があります。しかし、ユーザーのアップロードのほとんどは、実際には以下から来ていることがわかりました。私たちだけのシステム:たとえば、誰かがドキュメントライブラリからPDFをダウンロードし、必要に応じて別の名前に変更し、他のユーザーと共有できるカスタムコンテンツセクションに再アップロードします。

誰かが実際にファイルを見なくてもこのファイルを信頼できるものとしてマークしたいと思い、ファイルサイズと一種のチェックサムを使ってこれを行うことができると思いました。例えば

  • 特定の新しいファイルについて
    • ライブラリフォルダで、ファイル拡張子と同じファイルサイズを持つすべてのファイルを見つけます。
    • 拡張子とサイズが同じすべてのファイルに対して、一種のチェックサム比較を実行します。
    • 一致するものが見つかると、新しいファイルが信頼できると宣言されます。

現在のストレージディレクトリは132GBとかなり大きいです。したがって、その中のすべてのファイル(拡張子が同じすべてのファイルを含む)を調べるソリューションは非常に遅くなります。

コンテンツが変更されたときに自動的に更新するか、スケジューラを使用して1日に1回だけ実行するファイルチェックサムデータベースの種類(リテラルDBMSを使用する必要はありません)を維持するのが賢明です。その後、特定の新しいファイルのチェックサムを取得してデータベースから検索できます。

この問題は解決しなければならないようです。誰でもどんなアイデアがありますか?

ありがとう、マックス

ベストアンサー1

あなたは見ることができますファイルの整合性の監視ソフトウェア。

デフォルトでは、これらはファイルシステム内のルートキットの導入を検出するように設計されていますが、コアにはメタ情報(チェックサム、ハッシュ)を含むファイルデータベース、および一連のディレクトリの下に変更または追加された監視ファイルがあります。あなたが望むもの。

私が聞いたことの最も古いもの引き継ぎ鉄線しかし、次のオープンソースバージョンが作成されました。 アシスタント。最新のもの OSSECおすすめからhttps://serverfault.com/questions/141800/recommend-alternative-to-tripwire

おすすめ記事