Tengo bastantes discos duros externos y, a menudo, me cuesta encontrar lo que busco, sin mencionar que no almaceno el mismo archivo varias veces en diferentes discos o no encuentro espacio libre cuando lo necesito. Por lo tanto, me preguntaba si existen programas de bases de datos adecuados para almacenar el contenido de los discos; ¿Incluyendo nombres de archivos, tamaño y fechas de modificación?
Generalmente, cuanto más automatizado esté el programa al buscar en cada disco y analizar información sobre los archivos, mejor. Idealmente, debería usar una suma de verificación (o algo así) para identificar archivos idénticos. Una base de datos que también almacene información sobre cada disco, como particiones, formato (sistemas de archivos) y espacio libre restante (en cada partición), sería una ventaja.
Tengo MySQL y PostgreSQL, así como Apache con PHP, ejecutándose en mi computadora, por lo que puedo usar una solución basada en estos. Aunque en realidad busco un programa independiente más especializado; al menos para administrar colecciones, pero preferiblemente especializado para realizar un seguimiento de archivos en varios discos.
También estoy abierto a enfoques no convencionales (usar un programa destinado a otra cosa). ¿Alguien ha tenido un problema similar y ha encontrado una buena solución?
Respuesta1
Parece que lo que quieres es algún tipo de base de datos de contenido multimedia. Hay varios de estos disponibles; Algunos de los que quizás quieras echarle un vistazo son:
Dado que están destinados principalmente a catalogar CD y DVD, no deberían tener problemas incluso si los diferentes discos duros están montados en la misma ubicación.
Respuesta2
Después de buscar un poco encontréestepara enumerar todos los archivos en un directorio de forma recursiva:
ls -R $PATH | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'
Entonces, lo que haría sería guardar esto como un script llamado listall.sh,
ls -Rlah / | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'
haga que un programa lo ejecute con frecuencia como:
./listall.sh > ~/filelist
y luego, cuando quieras encontrar un archivo, puedes ejecutar:
cat ~/filelist | grep [whatever filename, date, or size you want]
Esta es la mejor manera que se me ocurrió. ¿Qué opinas?
Respuesta3
Tal vez puedas (simplemente) usar un software de búsqueda de escritorio,Rastreadorpor ejemplo, que es capaz de explorar, indexar y brindarle la posibilidad de buscar con un lenguaje de consulta avanzado en su base de datos.
No funcionará si monta sus diferentes discos en el mismo punto de montaje.
Supongo que necesitarás montarlos en diferentes puntos de montaje: por ejemplo, el disco "Negro" en /mnt/disk/black o /media/black, etc.
Luego podrá realizar la clasificación usted mismo con la ruta de ubicación y, si lo desea, realizar la clasificación por disco, agregando un criterio de búsqueda al inicio de la ruta de ubicación.