每周擦除/ tmp?

几个星期前,我们设置了一个cronjob,每周五凌晨5点擦除/ tmp的全部内容。 我并不确信这是一个好主意。 今天我们发现某个任务取决于/ tmp里的一个现有目录 – 任务被破坏了,更糟糕的是,它为什么失败了。 问题是:

把/ tmp擦掉通常是个坏主意?

在/ tmp中对陈旧的文件做些什么不是一个坏主意,但是我不确定对内容进行核对是你能做的最好的事情。

我的CentOS服务器使用了一种名为tmpwatch的工具,它每天运行一次,可以configuration为仅删除在某个时间段内(30天内stream行的延迟)未被访问的文件,或者在特定时间段内被修改的文件。 它可以被告知,除非它们是空的,或者根本不接触目录文件,或者排除某个用户使用的文件(root是一个stream行的select),否则单独留下目录。

这适用于我,它提供了足够的钩子,你可以调整它做你想要的。 我build议tmpwatch,或者不pipe你的发行版是什么样的。

这取决于应用程序和分发。 擦除/ tmp重新启动通常是安全的。 在正在运行的系统上擦除它很可能会破坏应用程序。 / tmp并不意味着永久存储,任何使用它的应用程序都会被严重破坏,但应用程序可以在保持联机状态的系统上将文件保留在/ tmp数月之久。 这就是为什么我对tmpwatch有点怀疑。

最后,我只倾向于研究当服务器硬盘空间不足时,/ tmp中存储了多less内容。 如果有足够的高清空间,为什么要麻烦?

根据FHS :

程序不能假定在程序的调用之间保留/ tmp中的任何文件或目录。

合理

IEEE标准P1003.2(POSIX,第2部分)提出了与上述部分类似的要求。

尽pipe存储在/ tmp中的数据可能会以站点特定的方式删除,但build议在系统启动时删除位于/ tmp中的文件和目录。

FHS在历史先例和惯例的基础上增加了这一build议,但没有把它作为一个要求,因为系统pipe理不在本标准的范围之内。

然而,这只是一个build议,而且它只是在一个程序的调用之间进行说明 – 除非您在星期天上午5点重启服务器,否则不会发生。 所以,像lockfiles,临时套接字等东西被删除,并导致问题。

正如MadHatterbuild议的那样,使用tmpwatch

我的想法是..

是的..不要擦拭/ tmp ..

许多奇怪和怪异的应用程序使用临时缓冲和临时存储..

如果信息不重要,它不会存储在那里:)

我见过,日志logging缓冲区,networking服务器会话,甚至在服务器上的图书馆版本..最好,你离开它独自..除非它需要清理…

希望这可以帮助 :)