管理临时文件

目标

  启用和禁用systemd定时器并配置管理临时文件的定时器。

名词定义

  • 管理临时文件

  现代系统需要大量的临时文件和目录。有些应用会使用/tmp目录来保存临时数据,还有一些应用则使用更特定于任务的位置,如守护进程以及/run下特定于用户的易失性目录。就此而言,易失性意味着存储这些文件的文件系统只存在于内存中。在系统重新启动或断电时,易失性存储器的所有内容都会丢失。

  为保持系统充分运行,有必要创建那些不存在的目录和文件,因为守护进程和脚本可能会依靠它们的存在,而清除旧文件后就不会填满磁盘空间或提供错误信息。

  红帽企业版Linux7及更高版本中包含了一个名为systemd-tmpfiles的新工具,它提供了一种结构化和可配置的方式来管理临时目录和文件。

  在systemd启动系统后,其中一个最先启动的服务单元是systemd-tmpfiles-setup。该服务运行命令systemd-tmpfiles –create –remove.此命令从/usr/lib/tmpfiles.d/.conf、/run/tmpfiles.d/.conf和/etc/tmpfiles.d/*.conf读取配置文件。系统删除这些配置文件中标记要删除的任何文件和目录,并且会创建标记要创建的任何文件和目录,并使其拥有正确权限。

  • **使用systemd定时器清理临时文件

  为确保长期运行的系统不会用陈旧数据填满磁盘,一个名为systemd-tmpfiles-clean.timer的systemd定时器单元会定期触发systemd-tmpfiles-clean.service来执行systemd-tmpfile –clean命令。

实操演示

##创建一个自动清理配置文件,设置文件夹下的文件10s后无访问,再清理临时文件时自动删除。
[root@sinfotek ~]# cat sinfotek.conf 
d /root/tmp 0755 root root 10s 
[root@sinfotek ~]# ls
anaconda-ks.cfg       port-check.sh  公共  文档
ding                  sinfotek.conf  模板  下载
initial-setup-ks.cfg  user-online    视频  音乐
moban_tongzhou.dis    yanxiubao      图片  桌面
[root@sinfotek ~]# systemd-tmpfiles --create /root/sinfotek.conf
[root@sinfotek ~]# ls
anaconda-ks.cfg       port-check.sh  yanxiubao  图片  桌面
ding                  sinfotek.conf  公共       文档
initial-setup-ks.cfg  tmp            模板       下载
moban_tongzhou.dis    user-online    视频       音乐
[root@sinfotek ~]# touch tmp/file{1..20}
[root@sinfotek ~]# ls tmp
file1   file12  file15  file18  file20  file5  file8
file10  file13  file16  file19  file3   file6  file9
file11  file14  file17  file2   file4   file7
[root@sinfotek ~]# systemd-tmpfiles --clean /root/sinfotek.conf 
[root@sinfotek ~]# ls tmp
文档更新时间: 2022-09-14 16:14   作者:xiubao yan