Любые программы, подходящие для создания базы данных по содержимому диска?

У меня довольно много внешних жестких дисков, и мне часто сложно найти то, что я ищу – не говоря уже о том, чтобы не хранить один и тот же файл несколько раз на разных дисках или найти свободное пространство, когда мне нужно. Мне было интересно узнать, есть ли какие-либо программы баз данных, подходящие для хранения содержимого дисков; включая имена файлов, дату изменения размера и модификации?

Как правило, чем более автоматизирована программа в поиске каждого диска и анализе информации о файлах, тем лучше. В идеале, он должен использовать контрольную сумму (или что-то еще) для идентификации идентичных файлов. База данных, которая также хранит информацию о каждом диске, таком как разбиение на разделы, формат (файловые системы) и оставшееся свободное пространство (на каждом разделе), будет плюсом.

У меня MySQL и PostgreSQL, а также Apache с PHP, работающий на моем компьютере, поэтому я могу использовать решение на их основе. Хотя я действительно после более специализированной автономной программы; по крайней мере, для управления коллекциями, но предпочтительно для отслеживания файлов на нескольких дисках.

Я также открыт для нетрадиционных подходов (с использованием программы, предназначенной для чего-то еще). У кого-то была аналогичная проблема и нашли хорошее решение?

Похоже, что вы хотите, это какая-то база данных медиаконтента. Есть несколько таких доступных; некоторые из которых вы можете захотеть посмотреть:

  • Каталог Gnome
  • Hyper's CdCatalog
  • CDCollect
  • Просмотр виртуальных томов

Поскольку они предназначены в первую очередь для каталогизации компакт-дисков и DVD-дисков, они не должны иметь проблем, даже если разные жесткие диски установлены в одном месте.

После некоторой очистки я нашел, что это список всех файлов в каталоге рекурсивно:

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] 

Это лучший способ, с помощью которого я мог бы придумать. Как вы думаете?

Возможно, вы можете (просто) использовать программное обеспечение для поиска на рабочем столе, например Tracker , которое поддерживает браузер, индексирует и дает вам возможность искать с расширенным языком запросов вашу базу данных.

Он не будет работать, если вы монтируете свои разные диски в одной точке монтирования.

Я предполагаю, что вам нужно смонтировать их в разных точках монтирования: например, диск «Черный» на / mnt / disk / black или / media / black и т. Д.

Затем вы сможете сортировать самостоятельно с помощью пути местоположения и, если хотите, сортировать по диску, если хотите, добавив критерии поиска в начале пути к местоположению.