限制 Linux 文件夹中文件的大小

限制 Linux 文件夹中文件的大小

我有一个复杂的设置,两个系统在两台具有共享空间的计算机上运行。

其中一个系统下载了大文件并在共享空间中创建了符号链接。另一个系统(Windows 系统)认为没有剩余空间。

我想做的是限制 Linux 中一个文件夹中文件的大小。换句话说,目录(和子目录)将只包含最大 1MB 的文件。任何大于 1MB 的文件都将被忽略。可以做到吗?

谢谢。

答案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>

答案2

我想到另一种方法是安排一个 cronjob 在 Linux 机器上每分钟或按照您选择的间隔运行一次,执行一个脚本,查找大于 1M 的任何文件并将其删除或移动到另一个目录进行审查。

对于脚本,请考虑使用“find”

man find

一个例子:

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

这将查看 /home/user/storage 目录并查找大于 1MB 的文件。您还可以将 -exec 添加到该行以对找到的文件执行操作。

答案3

您可以使用名为quota的产品,它似乎是在Red Hat上预装的。

查看以下链接

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

我从来没有亲自管理过这个,但是我曾经在安装了这个的系统上工作过并且它似乎有效。

让我知道你相处得如何

詹姆士

相关内容