Tenho muitos discos rígidos externos e muitas vezes tenho dificuldade em encontrar o que procuro - sem mencionar não armazenar o mesmo arquivo várias vezes em unidades diferentes ou encontrar espaço livre quando preciso. Eu estava me perguntando se existe algum programa de banco de dados adequado para armazenar o conteúdo dos discos; incluindo nomes de arquivos, tamanho e datas de modificação?
Geralmente, quanto mais automatizado o programa for na pesquisa de cada disco e na análise de informações sobre os arquivos, melhor. Idealmente, deveria usar uma soma de verificação (ou algo assim) para identificar arquivos idênticos. Um banco de dados que também armazene informações sobre cada disco - como particionamento, formato (sistemas de arquivos) e espaço livre restante (em cada partição) - seria uma vantagem.
Tenho MySQL e PostgreSQL, além de Apache com PHP, rodando no meu computador, então posso usar soluções baseadas neles. Embora eu esteja realmente atrás de um programa independente mais especializado; pelo menos para gerenciar coleções, mas preferencialmente especializado para rastrear arquivos em vários discos.
Também estou aberto a abordagens não convencionais (usando um programa destinado a outra coisa). Alguém já teve um problema semelhante e encontrou uma boa solução?
Responder1
Parece que o que você quer é algum tipo de banco de dados de conteúdo de mídia. Existem vários disponíveis; alguns que você pode querer dar uma olhada são:
Uma vez que se destinam principalmente à catalogação de CDs e DVDs, não deverão apresentar problemas, mesmo que os diferentes discos rígidos sejam montados no mesmo local.
Responder2
Depois de vasculhar um pouco descobriessepara listar todos os arquivos em um diretório recursivamente:
ls -R $PATH | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'
Então o que eu faria seria salvar isso como um script chamado listall.sh,
ls -Rlah / | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'
faça com que um programa seja executado com frequência como:
./listall.sh > ~/filelist
e sempre que quiser encontrar um arquivo, você pode executar:
cat ~/filelist | grep [whatever filename, date, or size you want]
Esta é a melhor maneira que encontrei. O que você acha?
Responder3
Talvez você possa (simplesmente) usar um software de pesquisa de desktop,Rastreadorpor exemplo, que é capaz de navegar, indexar e dar-lhe a possibilidade de pesquisar com uma linguagem de consulta avançada a sua base de dados.
Não funcionará se você montar discos diferentes no mesmo ponto de montagem.
Eu acho que você precisará montá-los em pontos de montagem diferentes: por exemplo, disco "Black" em /mnt/disk/black ou /media/black e assim por diante.
Você poderá então fazer a triagem sozinho com o caminho do local e, se fizer a triagem por disco, se desejar, adicionando um critério de pesquisa no início do caminho do local.