Usando Redhat, se isso faz diferença.
Existe um limite padrão? Isso pode ser mudado? Caso contrário, existem soluções alternativas para aumentar o número de pastas permitidas em um diretório?
Depende do sistema de arquivos que sua distribuição usa. Se você usa uma distribuição de área de trabalho mais recente (por exemplo, Ubuntu 9.10, uma versão recente do Fedora), provavelmente usa o ext4. Se você usar algo mais antigo, provavelmente é o ext3.
No ext2, 32.768 de acordo com a Wikipedia - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits . Depende do sistema de arquivos que você usa.
Você pode considerar alternativas ao que quer que esteja tentando fazer. Mesmo se você permanecer abaixo do limite do sistema de arquivos (por exemplo, 32k para ext2), armazenar dezenas de milhares de arquivos em um único diretório pode ser complicado, para dizer o mínimo.
Uma possibilidade é que você esteja tentando usar o sistema de arquivos para algo mais adequado a um banco de dados. Considere armazenar seus dados em um PostgreSQL, MySQL ou mesmo em um banco de dados sqlite. Não há muitos sistemas de arquivos que lidam bem com um grande número de arquivos - mover ou fazer backup dos dados será lento.
Se você realmente precisar armazenar muitos arquivos, considere estruturas de diretório alternativas. Por exemplo, você pode separar seus arquivos em ordem alfabética, por exemplo:
Essa abordagem pode ser escalada aumentando a profundidade da sua separação, por exemplo:
Ou, se você estiver inserindo arquivos de log diários ou recebendo entregas diárias, poderá separá-los por data, por exemplo:
Nesse caso em particular, você provavelmente também desejaria agendar uma tarefa para empacotar logs antigos em tarballs compactados para reduzir a contagem de arquivos.
fonte
Os limites de pasta são os motivos pelos quais os sistemas corporativos que precisam lidar com um número arbitrário de arquivos são armazenados em um ou dois subdiretórios com base em um hash do nome do arquivo. Por exemplo, md5 () o nome do arquivo e use os quatro primeiros bytes como uma subpasta para armazenar o arquivo; para níveis adicionais, use os próximos 4 para uma subpasta adicional ou os próximos 4 depois disso etc. A maioria dos sistemas nunca excederia 2 níveis de profundidade.
fonte