Estoy instalando un programa en mi servidor Linux y almacena datos localmente durante una semana. Sin embargo, a veces puede ocurrir un error que impedirá que se eliminen los datos.
Para protegerme contra esto cuando lo instalé en un servidor Unix, simplemente creo un nuevo sistema de archivos del tamaño especificado. Sin embargo, el sistema de archivos de mi servidor Linux se creó para tener la partición completa. ¿Hay alguna forma de establecer el tamaño máximo de un directorio?
Además, si se tratara de espacio libre en la partición, sería mejor crear un nuevo sistema de archivos o utilizar las restricciones anteriores.
Gracias, alex
Respuesta1
No estoy seguro de cómo limitar el tamaño de un único directorio. Podrías crear un nuevo usuario, asignarle una cuota y luego ejecutar el proceso con ese usuario, pero supongo que eso no es lo que buscas.
Como sugiere, puede crear un sistema de archivos como un "archivo" y montarlo como directorio de salida para esta aplicación. Esto garantizaría que nunca se extienda a su sistema de archivos habitual:
dd if=/dev/zero of=~/disk_image_file count=$size_in_blocks
mkfs -t ext3 -q ~/disk_image_file
mkdir -p ~/mnt/app1/log
mount -o loop=/dev/loop0 ~/disk_image_file ~/mnt/app1/log
Respuesta2
Estás buscando cuotas. Sí, es completamente posible implementar cuotas en la mayoría, si no en todos, los sistemas de archivos Unix.
Esto es lo que debes leer:http://www.faqs.org/docs/Linux-mini/Quota.html No debería necesitar realizar ninguna configuración del kernel. Cualquier sistema vagamente moderno probablemente ya tendrá esto habilitado por la distribución.
Vuelve si tienes problemas.