我们遇到了一个问题,缓存和另一个脚本吞噬了我们的服务器,导致它无法启动。我相信 Windows 或 Mac OS X 永远不会允许这种情况发生。在阅读“服务器日志占满了我的硬盘,我该如何解决这个问题?“我仍然需要一个解决方案。
假设一个自定义脚本被设置为以 root 身份运行。如果该脚本失控,它可能会输出一个文件,该文件在服务器上不断增长,直到没有更多可用空间。甚至会覆盖系统文件。
有什么方法可以确保 root 或任何用户在系统上执行的任何进程都不会占用硬盘空间?
答案1
“自定义脚本设置为以 root 身份运行”听起来很危险。你确定一定如此吗?
您可以创建另一个分区,并让脚本将输出写入该分区。这样,脚本将只填充该分区,并且脚本将失败,而不会对系统造成影响。
当脚本正在运行(失控)时,使用lsof
(查看man lsof
详细信息)查看哪些文件正在增长,似乎没有限制。然后,修复脚本。
答案2
您可以使用用户“配额”来限制用户占用的磁盘空间量。然后您可以以该用户的身份运行脚本。