我正在 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 您不需要进行任何内核配置。任何较新的系统可能已在发行版中启用了此功能。
如果有问题请回来。