由于linux操作系统和windows系统类似,日常工作和生产流程中需要定时或不定时的清除不少临时性的文件及目录,否则系统中的磁盘空间和内存空间会遭到过多的不必要的占用,这会造成有限的空间资源的大量浪费。而此时我们想高效率地达到自动清除这些临时性垃圾文件的话,可使用centos7以上版本中的系统自带的新工具,即“systemd-tmpfiles”,该工具提供了一种结构化且可配置的方法来管理临时目录和文件。
1.可以用如下命令判断此服务是否已经启动:
[root@rocky-8 ~]# systemctl status systemd-tmpfiles-*
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: disabled)
Active: active (exited) since Tue 2022-09-13 09:23:27 EDT; 1min 16s ago
Docs: man:tmpfiles.d(5)
● systemd-tmpfiles-setup.service - Create Volatile Files and Directories
Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup.service; static; vendor preset: disabled)
Active: active (exited) since Tue 2022-09-13 09:23:27 EDT; 1min 16s ago
Docs: man:tmpfiles.d(5)
man:systemd-tmpfiles(8)
Process: 883 ExecStart=/usr/bin/systemd-tmpfiles --create --remove --boot --exclude-prefix=/dev (code=exited, status=0/SUCC>
Main PID: 883 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 11186)
Memory: 0B
CGroup: /system.slice/systemd-tmpfiles-setup.service
Sep 13 09:23:27 rocky-8.5.linux systemd[1]: Starting Create Volatile Files and Directories...
Sep 13 09:23:27 rocky-8.5.linux systemd[1]: Started Create Volatile Files and Directories.
● systemd-tmpfiles-clean.timer - Daily Cleanup of Temporary Directories
Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-clean.timer; static; vendor preset: disabled)
Active: active (waiting) since Tue 2022-09-13 09:23:28 EDT; 1min 16s ago
Trigger: Tue 2022-09-13 09:38:08 EDT; 13min left
Docs: man:tmpfiles.d(5)
man:systemd-tmpfiles(8)
Sep 13 09:23:28 rocky-8.5.linux systemd[1]: Started Daily Cleanup of Temporary Directories.
● systemd-tmpfiles-setup-dev.service - Create Static Device Nodes in /dev
Loaded: loaded (/usr/lib/systemd/system/systemd-tmpfiles-setup-dev.service; static; vendor preset: disabled)
Active: active (exited) since Tue 2022-09-13 09:23:23 EDT; 1min 20s ago
Docs: man:tmpfiles.d(5)
man:systemd-tmpfiles(8)
Process: 780 ExecStart=/usr/bin/systemd-tmpfiles --prefix=/dev --create --boot (code=exited, status=0/SUCCESS)
Main PID: 780 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 11186)
Memory: 0B
2.启动systemd-tmpfiles-setup服务单元时,它将运行systemd-tmpfiles –create –remove命令,该命令将根据systemd自带的计时器单元会按照固定的时间频率触发systemd-tmpfiles-clean.service,当然我们也可以在/lib/systemd/system/下创建一个examine服务来检查/tmp/下文件数的变化情况:
3.具体创建的服务内容如下所示:
4.随后再用如下命令正式开始服务即宣告完成,后面系统启动时加载systemd服务即可自动检查/tmp/目录下的文件数量变化状态。