/var/tmp 和文件生存期

/var/tmp 和文件生存期

我有一个 cronjob,它每分钟运行一次并检查某个文件是否存在。如果没有这样的文件,作业就会默默结束。如果有文件,则启动另一个脚本。该脚本完成后会删除该文件。它的执行时间最多可能需要 20 分钟。

我的问题是:这个方案有什么缺陷吗?将这样的文件存储在 tmp 中可以吗?我能确保不会有任何东西试图删除它吗?


谢谢您的回复!

此方案的目的是允许通过 Web 界面运行该脚本。脚本本身位于用户的主文件夹中并对其内容进行操作。我不确定在 /var/run 中创建 pid 文件是否合适。

答案1

我猜你说的是 Linux 系统。如果你没有设置任何东西来清理 /tmp,它不会自动完成。唯一的例外是当你重新启动系统时 - 大多数 Linux 发行版在重新启动时都会清理 /tmp。当然,你可以搜索执行 celan up 的脚本,如果你担心这一点,你可以禁用它

答案2

首先...我认为如果您“完成后删除文件”,您的作业可能会运行多达 20 次。从您所说的内容来看,一旦检测到文件,就应该移动/删除它。

这里提出了类似的问题。

答案3

只要您检查以确保您的文件处理脚本尚未运行,那么您应该没问题。/tmp 对于这种事情来说是没问题的,除非您遇到随机重启,而这本身就是一个相当大的问题。

答案4

您可能需要查看他的手册页。这种标志通常位于 /var/run 中。您应该对两个进程使用一个标记文件,以防止运行多个处理脚本。

相关内容