Linux /tmp/下的文件自动清理

在使用systemd程序的Linux系统中,/tmp 目录下的文件会自动清理。默认情况下,系统使用 systemd-tmpfiles-clean 服务来管理 /tmp 目录中的文件,并根据文件的访问时间来决定何时删除它们。具体清理策略取决于配置文件 /usr/lib/tmpfiles.d/tmp.conf/etc/tmpfiles.d/ 目录中的相关设置。

在使用systemd程序的Linux系统中,默认配置通常如下:

  • /tmp 中的文件默认会在 10 天没有被访问后自动删除。

可以通过查看 /usr/lib/tmpfiles.d/tmp.conf 文件内容来确认清理规则,通常会有类似的配置:

复制代码
# Clear tmp directories 
D /tmp 1777 root root 10d 
D /var/tmp 1777 root root 30d 

其中 10d 表示 /tmp 目录中的文件在未被访问 10 天后会被删除。

如果你想更改这一行为,可以通过编辑 /etc/tmpfiles.d/ 下的配置文件来自定义清理规则。例如,如果想将 /tmp 文件的保留时间改为 5 天,可以添加或修改如下配置:

复制代码
D /tmp 1777 root root 5d 

之后可以重启 systemd-tmpfiles-clean 服务,或手动触发清理:

复制代码
systemctl restart systemd-tmpfiles-clean 

或者手动清理 /tmp 目录中的文件:

复制代码
systemd-tmpfiles --clean

systemd-tmpfiles-clean 服务通常通过定期任务运行,而不是持续在后台运行。你也可以通过检查与此服务相关的定时任务来确认定期清理是否已启用:

复制代码
systemctl list-timers | grep systemd-tmpfiles-clean 

这个定时器的任务是每隔一段时间(默认每天一次)触发清理过程。如果想要更改清理的频率或规则,你可以调整相关的定时器配置。

示例:

复制代码
[root@node09 tmp]# systemctl list-timers | grep systemd-tmpfiles-clean
Wed 2024-09-11 09:15:24 CST  18h left Tue 2024-09-10 09:15:24 CST  5h 9min ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service

这条输出表示 systemd-tmpfiles-clean.timer 定时器正在正常工作,并且会在指定的时间触发 systemd-tmpfiles-clean.service 服务来清理临时文件。具体解释如下:

  • 下一次执行时间Wed 2024-09-11 09:15:24 CST,表示下一次 systemd-tmpfiles-clean 服务将会在 2024-09-11 09:15:24 CST(即 18 小时后)运行。
  • 上一次执行时间Tue 2024-09-10 09:15:24 CST,表示上一次清理任务在 2024-09-10 09:15:24 CST(5 小时 9 分钟前)已经执行过一次。
  • systemd-tmpfiles-clean.timer :这是一个 systemd 定时器,负责定期触发 systemd-tmpfiles-clean.service 服务。
  • systemd-tmpfiles-clean.service :这是执行清理操作的实际服务,它会根据配置文件的规则清理临时文件夹(例如 /tmp)。

这意味着系统已经配置了定时任务来定期清理 /tmp 目录中的文件,并且清理操作运行正常。

相关推荐
记得开心一点嘛4 分钟前
Elasticsearch
运维·jenkins
2401_8904430212 分钟前
Linux进程间通信
linux·服务器
Xの哲學17 分钟前
Linux 实时调度机制深度解析
linux·服务器·网络·算法·边缘计算
张太行_22 分钟前
Linux信号处理函数中断流程分析
linux
晚风吹人醒.28 分钟前
iptables防火墙规则(一):iptables语法结构,netfilter功能详解及案例演示
linux·服务器·网络·iptables·防火墙··netfilter
学好statistics和DS32 分钟前
两个子进程都sleep, `waitpid` 系统调用
linux·服务器·数据库
シ風箏35 分钟前
AutoGen【部署 02】Linux环境安装部署AutoGenStudio并调用本地 qwen2.5:0.5b 大模型举例
linux·autogen·本地大模型·autogenstudio
xingzhemengyou140 分钟前
LINUX 通过/proc/interrupts了解系统硬件中断的使用情况
linux·arm开发
Web极客码1 小时前
释放WordPress磁盘空间并减少Inode使用量
服务器·数据库·ubuntu
xingzhemengyou11 小时前
LINUX SSH长连接VS短连接
linux