Назад | Перейти на главную страницу

ограничить размер файлов в папке в linux

У меня сложная установка с двумя системами, работающими на двух компьютерах с общим пространством.

Одна из систем загружает большие файлы и создает символические ссылки в общем пространстве. Другая система (система Windows) думает, что не осталось места.

Я хотел бы ограничить размер файлов в одной папке в Linux. Другими словами, каталог (и подкаталоги) будут содержать файлы размером не более 1 МБ. Все, что больше, будет проигнорировано. Это можно сделать?

Спасибо.

Боюсь, что можно установить максимальный размер файла только для всей системы (для каждого файла).

ulimit -f <size_in_blocks>

Вы также можете ограничить общий размер каталога, смонтировав каталог из виртуальной файловой системы (файла):

dd if=/dev/zero of=~/disk_image count=<size_in_blocks>
mkfs -t ext3 ~/disk_image
mount -o loop=/dev/loop0 ~/disk_image <directory>

Вы можете использовать продукт под названием quota, который, кажется, предустановлен в Red Hat.

проверьте следующие ссылки

http://souptonuts.sourceforge.net/quota_tutorial.html http://www.yolinux.com/TUTORIALS/LinuxTutorialQuotas.html

На самом деле я никогда сам этим не занимался, однако я работал с системами, в которых это было установлено, и, похоже, это работает.

Дай мне знать, как у тебя дела

Джеймс

Другой метод, о котором я подумал, - это запланировать запуск cronjob на Linux-машине каждую минуту или с интервалом по вашему выбору, который выполняет скрипт, который ищет любые файлы размером более 1M и либо удаляет их, либо перемещает в другой каталог для просмотра. .

Для сценария изучите использование 'find'

man find

Пример:

find /home/user/storage -type f -size +1M

Это позволит просмотреть каталог / home / user / storage и найти файлы размером более 1 МБ. Вы также можете добавить -exec в строку для выполнения действий с найденными файлами.