Linux TMP目录
什么是Linux/TMP目录?
基于Linux系统中的/TMP目录包含系统暂时要求的必要文件以及在计算机上运行的其他软件和应用程序。
例如,当我们正在编写文档时,该文档中的所有内容都将保存为/TMP目录中的临时文件。
保存后,它会存储在首选位置,并在退出文档后删除临时文件。
/tmp目录和/var/tmp目录之间有什么区别?
程序以及系统本身使用的/tmp和/var/tmp暂时存储数据。
但是,关键差异是数据存储在这些文件系统内的长度。
/var/tmp的数据保留时间远远超过/tmp目录的时间。
默认情况下,存储在/var/tmp中的所有文件和数据长达30天。
虽然在/tmp中,但数据在十天后自动删除。
此外,存储在/tmp目录中的任何临时文件都会在系统重新启动时立即删除。
因此,程序使用/var/tmp目录用于存储需要在重新启动之间保留的数据。
Linux/TMP目录是否可以填满?
存储在/TMP目录中的文件和数据的大小仅为几kB。
尽管有可能,/tmp目录是否被填满是值得怀疑的。
对于普通系统,需要有数百万临时文件存储在/tmp目录中以填充它。
如果我们运行一个经常关闭的单用户系统,则不应成为我们应该担心的东西。
重新启动系统会删除/tmp目录中的所有存储文件。
但是,如果我们是运行很少重新启动并占用数千个用户的服务器的系统管理员,那么/TMP目录填写就是一个实际问题。
通过在目录中堆积的更多临时文件,它将慢慢进食所有存储空间,这是整体系统健康的可怕新闻。
如何删除存储在/tmp目录中的文件?
除非我们知道我们在做什么,否则不建议我们删除/TMP目录中的文件。
这些是在系统上运行的软件所重要的。
删除它们可能会导致系统崩溃。
由于存储在/tmp目录中的文件和数据在系统重新启动时自动删除,因此它不是主动担心的。
但是,正如前面讨论的那样,对于在结束时运行几个月的服务器,必须在泛滥/TMP目录泛滥之前不时清理临时文件。
为此,我们鼓励我们采取更系统的方法,而不是仅删除群体的所有/TMP文件。
删除临时文件并管理Linux/TMP目录的正确方法
尝试管理Linux/TMP目录时需要考虑两件事。
首先,我们需要知道如何确定要从/TMP目录中删除的文件,随机删除文件将扰乱用户的活动。
其次,我们需要一种自动化/TMP目录清理过程的方法,因为它将是不可能手动搜索和常规删除临时文件的过程。
考虑到这两点,完美的解决方案将使用CRONTAB定期部署用户文件的家庭脚本。
例如,让我们假设我们要经常删除未在过去三天中未使用的/TMP目录中存储的所有用户文件。
好吧,我们可以通过首先向用户在服务器上通知服务器上的新临时文件删除策略来进行此操作,以便它们相应地修改其使用活动.Next,我们需要编写一个可以找到所有这些的脚本文件。
以下是我们可以尝试的示例:
find /tmp -type f \( ! -user root \) -atime +3
上面的脚本将找到尚未在过去三天中访问的所有/TMP文件,但将排除root用户拥有的所有文件。
要删除所有这些文件,我们只需略微编辑到上面的脚本:
find /tmp -type f \( ! -user root \) -atime +3 -delete
要定期运行此脚本,我们需要在文件中复制上述文本并使其可执行。
对于本教程,我们将创建文件tmp.cleanup.sh。
tmp.cleanup.sh:
find /tmp -type f \( ! -user root \) -atime +3 -delete
接下来,我们将设置一个CRONTAB命令,将每6小时执行每6小时执行脚本。
要执行此操作,请先在终端中输入以下命令:
$crontab -e
这将在编辑器中打开Crontab文件。
接下来,我们需要在编辑器中复制和粘贴给定的命令,然后保存并退出。
0 **/6 * * /opt/scripts/tmp.cleanup.sh
这将在/opt/scripts/tmp.cleanup.sh中运行脚本,每6小时,所以我们不必担心/tmp目录被淹没并进食系统存储。
当然,我们可以自由地编程CRONTAB以在所需的任何周期性间隔内执行脚本。
以下是如何创建CRONTAB命令以帮助深入教程。
我不小心删除了/tmp目录。怎么办?
在手动删除/TMP文件的过程中,有些用户意外结束删除/TMP目录本身。
像这样搞砸,这样就可以了。
但是,我们可以使用讨论的方法快速恢复已删除/TMP目录。
我们需要做的就是在终端中输入以下命令:
$sudo mkdir /tmp $sudo chmod 1777 /tmp
第一行创建一个新的/TMP目录。
第二行为所有用户(所有者,组和其他)访问和权限读取,写入和运行文件/TMP目录中的文件。
接下来,我们可以输入此命令以检查/TMP目录的所有权限,以确保所有用户都能使用它。
$ls -ld /tmp
一旦我们检查了一切,我们需要重新启动系统。
这将确保程序开始使用新创建/TMP目录。