有适合在磁盘内容上创建数据库的程序吗?

有适合在磁盘内容上创建数据库的程序吗?

我有相当多的外部硬盘驱动器,并且经常很难找到我正在寻找的东西 - 更不用说不要在不同的驱动器上多次存储相同的文件或在需要时寻找可用空间。因此,我想知道是否有适合存储磁盘内容的数据库程序;包括文件名、大小和修改日期?

一般来说,程序搜索每个磁盘并解析有关文件的信息的自动化程度越高越好。理想情况下,它应该使用校验和(或其他东西)来识别相同的文件。如果数据库还存储有关每个磁盘的信息 - 例如分区、格式(文件系统)和剩余可用空间(每个分区上) - 将是一个优点。

我的计算机上运行着 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

也许您可以(简单地)使用桌面搜索软件,追踪器例如,它能够浏览、索引并让您可以使用高级查询语言搜索数据库。

如果将不同的磁盘安装在同一安装点上,则它将不起作用。

我想您需要将它们安装在不同的安装点上:例如 /mnt/disk/black 或 /media/black 上的磁盘“Black”,等等。

然后,您将能够使用位置路径自行进行分类,如果需要,可以通过在位置路径的开头添加搜索条件来按磁盘进行分类。

相关内容