如何在 WHM 服务器上以小时为单位设置 TMPTIME。

How to set TMPTIME in hours at WHM Server.

我们知道/tmp目录在每次启动时默认被清除,因为TMPTIME默认为0。

在这里您可以更改以下文件中的时间:

/etc/default/rcS

每次启动时清除对于永远不会重新启动的机器(如服务器)来说并不理想。我的 /tmp 中有超过 500,000 个文件占用 5Gb space,因为我的服务器有 378 天的正常运行时间。

我的问题是如何以小时为单位设置 TMPTIME,以便自动删除 /tmp 文件。

我该怎么办?

TMPTIME用于配置开机删除临时文件的脚本。它设置了某些东西在被删除之前可以存在的最大年龄,例如如果将其设置为 5,则脚本 运行s 时将删除超过 5 天的所有内容。该脚本本身是用于挂载您的 /tmp 目录的脚本,通常在重新启动时仅挂载 运行s。正如您所说,此服务器不经常重新启动,因此这对您没有什么用处。

您的问题的可能解决方案是 tmpreaper 命令。它可以从包存储库中获得,例如sudo apt-get install tmpreaper 在 debian 系统上或 sudo yum -y install tmpreaper 在基于 RedHat 的系统上。

一旦你安装了它就可以运行如下:

tmpreaper [options]  <time_spec> <dirs>

举个例子,从 /tmp 目录中删除超过 12 小时的所有内容,您可以这样做:

tmpreaper 12h /tmp

然后您可以将其添加到每小时一次的 crontab,以便每小时删除超过 12 小时的文件,例如:

17 * * * * tmpreaper 12h /tmp

我建议您在测试时使用 -t 选项,以确认它会在您正确 运行 之前删除您期望的内容。这将列出它本应删除但实际上并未删除的文件。要获得更精细的控制,请查看 man tmpreaper 以了解控制已删除文件类型等的选项。

如果您不想安装 tmpreaper,您可以使用 find 命令来安装,例如find /tmp -mmin +720 -delete 删除至少 12 小时前修改过的文件。 tmpreaper 更专注于手头的任务,因此您可能会发现它更容易处理。