管理临时文件
目标
启用和禁用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