Linux – Restrict Directory Size

filesystemslinux

I'm installing a program on my Linux server and it stores data locally for a week. However, there is an error that can occur sometimes that will keep it from deleting the data.

To safeguard against this when I installed it on a Unix server I just create a new filesystem of the specified size. However, the filesystem on my linux server was created to have the full partition. Is there some way to set the maximum size for a directory?

Additionally if these was free space in the partition, would it be better to create a new filesystem, or use the above restrictions.

Thanks,
Alex

Best Answer

I'm not sure of a way to limit the size of a single directory. You could create a new user, assign a quota to them, and then run the process under that user, but I'm guessing that's not what you're after.

As you hint at, you can create a filesystem as a "file" and mount it as the output directory for this app. This would ensure it never spills over to your regular filesystem:

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
Related Topic