ディスクコンテンツ上にデータベースを作成するのに適したプログラムはありますか?

ディスクコンテンツ上にデータベースを作成するのに適したプログラムはありますか?

私は外付けハードドライブをたくさん持っていますが、探しているものを見つけるのに苦労することがよくあります。同じファイルを複数のドライブに何度も保存したり、必要なときに空き領域を見つけたりするのは言うまでもありません。そこで、ファイル名、サイズ、変更日など、ディスクの内容を保存するのに適したデータベース プログラムがあるかどうか疑問に思っています。

一般的に、プログラムが各ディスクを検索し、ファイルに関する情報を解析する作業が自動化されているほど、より優れたものになります。理想的には、チェックサム (または何か) を使用して同一ファイルを識別する必要があります。パーティション、フォーマット (ファイルシステム)、残りの空き容量 (各パーティション) など、各ディスクに関する情報も保存するデータベースがあればなお良いでしょう。

私のコンピューターでは、MySQL と PostgreSQL、そして PHP を搭載した Apache が実行されているので、これらに基づいたソリューションを使用できます。ただし、私が本当に求めているのは、コレクションの管理には少なくとも、できれば複数のディスク上のファイルを追跡するのに特化された、より特化されたスタンドアロン プログラムです。

私は型破りなアプローチ(他の目的のためのプログラムの使用)も受け入れます。同様の問題を抱えていて、良い解決策を見つけた人はいますか?

答え1

あなたが求めているのは、ある種のメディア コンテンツ データベースのようです。そのようなデータベースは複数存在しますが、いくつか見てみましょう。

これらは主に CD と DVD のカタログ作成を目的としているため、異なるハードディスクが同じ場所にマウントされていても問題はありません。

答え2

少し探してみるとこれディレクトリ内のすべてのファイルを再帰的に一覧表示するには:

ls -R $PATH | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'

そこで私がやることは、これをlistall.shというスクリプトとして保存することです。

ls -Rlah / | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'

プログラムで次のように頻繁に実行します。

./listall.sh > ~/filelist

そして、ファイルを検索したいときはいつでも、次のコマンドを実行できます。

cat ~/filelist | grep [whatever filename, date, or size you want]

これが私が思いついた最善の方法です。どう思いますか?

答え3

デスクトップ検索ソフトウェアを(単純に)使用することもできます。トラッカーたとえば、データベースをブラウザーで閲覧、インデックス付けしたり、高度なクエリ言語を使用して検索したりできるようになります。

異なるディスクを同じマウントポイントにマウントすると機能しません。

異なるマウント ポイントにマウントする必要があると思います。たとえば、ディスク「Black」を /mnt/disk/black または /media/black にマウントするなどです。

その後、ロケーション パスを使用して自分でトリアージできるようになります。また、必要に応じて、ロケーション パスの先頭に検索条件を追加してディスクごとにトリアージすることもできます。

関連情報