暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Linux系统的临时目录/tmp的自动清理

zayki 2024-09-28
1600

在CentOS 7系统中,临时目录(/tmp)的清理策略是通过systemd-tmpfile服务来实现的。以下是对CentOS 7临时目录清理策略和相关配置的详细介绍:

清理机制

从CentOS/RHEL 7开始,systemd-tmpfile服务被用于周期性清理/tmp目录。该服务的配置文件位于/usr/lib/tmpfiles.d/tmp.conf

相关服务和配置文件

在CentOS 7下,与临时文件管理相关的系统服务有三个:

  • systemd-tmpfiles-setup.service:创建易变文件和目录。
  • systemd-tmpfiles-setup-dev.service:在/dev中创建静态设备节点。
  • systemd-tmpfiles-clean.service:清理临时目录。
    对应的配置文件也有三个位置:
  • /etc/tmpfiles.d/.conf
  • /run/tmpfiles.d/.conf
  • /usr/lib/tmpfiles.d/.conf
    其中,/tmp目录的清理规则主要取决于/usr/lib/tmpfiles.d/tmp.conf文件的设定。

默认配置

默认情况下,/usr/lib/tmpfiles.d/tmp.conf文件的配置如下:

v /tmp 1777 root root 10d
v /var/tmp 1777 root root 30d

这表示/tmp目录下10天前的目录和文件将被清理,而/var/tmp目录下30天前的目录和文件将被清理。

自定义配置

如果需要自定义清理规则,可以修改/usr/lib/tmpfiles.d/tmp.conf文件。例如,如果不希望系统自动清理/tmp下以tomcat开头的目录,可以在配置文件中增加相应的排除规则。

总结

CentOS 7的/tmp目录清理策略通过systemd-tmpfile服务实现,其配置文件位于/usr/lib/tmpfiles.d/tmp.conf。默认配置会清理10天前的/tmp目录内容和30天前的/var/tmp目录内容。管理员可以根据需要修改此配置文件以定制清理规则。

在CentOS 7中,清理文件的类型配置是通过systemd-tmpfiles服务来管理的,特别是通过/usr/lib/tmpfiles.d/tmp.conf配置文件。以下是如何配置清理文件类型的详细说明:

配置文件概述

tmp.conf文件定义了如何处理不同类型的临时文件和目录。该文件包含了多个清理规则,每行定义一个规则。规则通常具有以下格式:

类型 x 路径 权限 用户 组 时间

其中:

  • 类型:指定要执行的操作类型。
  • x:表示要清理的路径。
  • 权限:设置文件或目录的权限。
  • 用户:文件或目录的所有者。
  • :文件或目录的组。
  • 时间:指定文件或目录的清理时间。

文件类型配置

以下是tmp.conf文件中可以使用的几种类型,用于配置清理文件的类型:

  1. v:表示清理目录,并遵循指定的时间限制。例如,v /tmp 1777 root root 10d表示清理/tmp目录下10天前的所有文件和目录。
  2. q:与v类似,但仅清理文件,不清理目录。
  3. L:创建一个指向另一个文件的链接。
  4. c:创建一个常规文件,并设置指定的内容。
  5. C:与c相同,但如果文件已经存在,则不会更改它。
  6. d:创建一个目录。
  7. D:与d相同,但如果目录已经存在,则不会更改它。
  8. z:设置指定的目录的SELinux安全上下文。
  9. Z:与z相同,但仅当目录不存在时才设置。

清理时间配置

在清理规则中,时间配置可以指定为以下格式:

  • d:天数,例如10d表示10天。
  • h:小时,例如48h表示48小时。
  • m:分钟,例如15m表示15分钟。

示例配置

以下是一个配置示例,展示如何清理特定类型的文件:

# 清理/tmp目录下超过10天的文件和目录
v /tmp 1777 root root 10d
# 清理/var/tmp目录下超过30天的文件和目录
v /var/tmp 1777 root root 30d
# 排除/tmp目录下以tomcat开头的目录
x /tmp/tomcat*  # 注意:这行需要自定义添加

注意事项

  • 修改tmp.conf文件后,通常需要重启systemd-tmpfiles-clean.service服务或重启系统以使更改生效。
  • 在排除特定目录或文件时,应确保使用正确的路径和模式匹配。
    通过这些配置,管理员可以精确控制CentOS 7系统中临时文件的清理行为,以满足特定的需求和偏好。

另外,如果分析java进程时,需要如下文件,如果清理了会报错,但是可以通过手动创建解决。
[itadmin@zht-wximport-uat-app-1 tmp]$ mv .java_pid2986353 .java_pid2986353.old
[itadmin@zht-wximport-uat-app-1 tmp]$ jstack -l 2986353
2986353: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding

最后修改时间:2024-09-28 12:44:19
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论