在使用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
如果你想更改这一行为,可以通过编辑 /etc/tmpfiles.d/
下的配置文件来自定义清理规则。例如,如果想将 /tmp
文件的保留时间改为 5 天,可以添加或修改如下配置:
D /tmp 1777 root root 5d
之后可以重启 systemd-tmpfiles-clean
服务,或手动触发清理:
systemctl restart systemd-tmpfiles-clean
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
定时器,负责定期触发 systemd-tmpfiles-clean.service
服务。/tmp
)。