Ограничить размер каталога

Ограничить размер каталога

Я устанавливаю программу на свой сервер Linux, и она хранит данные локально в течение недели. Однако иногда может возникнуть ошибка, которая не позволит ей удалить данные.

Чтобы защититься от этого, когда я устанавливал его на Unix-сервер, я просто создал новую файловую систему указанного размера. Однако файловая система на моем Linux-сервере была создана для полного раздела. Есть ли способ задать максимальный размер для каталога?

Кроме того, если бы на разделе было свободное место, было бы лучше создать новую файловую систему или использовать указанные выше ограничения?

Спасибо, Алекс.

решение1

Я не уверен, как ограничить размер одного каталога. Вы можете создать нового пользователя, назначить ему квоту, а затем запустить процесс под этим пользователем, но я предполагаю, что это не то, что вам нужно.

Как вы намекаете, вы можете создать файловую систему как "файл" и смонтировать ее как выходной каталог для этого приложения. Это гарантирует, что она никогда не перетечет в вашу обычную файловую систему:

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

решение2

Вы ищете квоты. Да, вполне возможно реализовать квоты на большинстве, если не на всех файловых системах unix.

Вот что вам следует прочитать:http://www.faqs.org/docs/Linux-mini/Quota.html Вам не нужно делать никаких настроек ядра. Любая более-менее современная система, скорее всего, уже будет иметь это в дистрибутиве.

Возвращайтесь, если возникнут проблемы.

Связанный контент