Usando Redhat, si eso hace la diferencia.
¿Hay un límite predeterminado? ¿Se puede cambiar? Si no, ¿hay alguna solución para aumentar la cantidad de carpetas permitidas en un directorio?
En ext2, 32,768 según Wikipedia - http://en.wikipedia.org/wiki/Ext2fs#File_system_limits . Depende del sistema de archivos que use.
Es posible que desee considerar alternativas a lo que sea que esté tratando de hacer. Incluso si permanece por debajo del límite del sistema de archivos (por ejemplo, 32k para ext2), almacenar decenas de miles de archivos en un solo directorio puede ser engorroso, por decir lo menos.
Una posibilidad es que intente utilizar el sistema de archivos para algo que sea más adecuado para una base de datos. Considere almacenar sus datos en PostgreSQL, MySQL o incluso en una base de datos sqlite. No hay demasiados sistemas de archivos que se adapten bien a una gran cantidad de archivos; mover o hacer una copia de seguridad de sus datos será lento.
Si realmente necesita almacenar muchos archivos, considere estructuras de directorios alternativas. Por ejemplo, puede separar sus archivos alfabéticamente, por ejemplo:
Este enfoque puede escalar aumentando la profundidad de su separación, por ejemplo:
O si ingresa archivos de registro diarios o recibe entregas diarias, puede separarlos por fecha, por ejemplo:
En este caso particular, es probable que también desee cron un trabajo para empaquetar registros antiguos en tarballs comprimidos para reducir el recuento de archivos.
fuente
Los límites de las carpetas son la razón por la cual los sistemas empresariales que tienen que lidiar con un número arbitrario de archivos se almacenarán en uno o dos subdirectorios basados en un hash del nombre del archivo. Por ejemplo, md5 () el nombre del archivo y use los primeros cuatro bytes como una subcarpeta para almacenar el archivo; para niveles adicionales, use los siguientes 4 para una subcarpeta adicional, o los siguientes 4 después de eso, etc. La mayoría de los sistemas nunca superarían los 2 niveles de profundidad.
fuente