1、
2、
[root@rhel9 ~]# crontab -e 加上-u后面可以指定某个用户
3、
[root@rhel9 ~]# mkdir /tab_tmp
[root@rhel9 ~]# chown root:tab /tab_tmp/
[root@rhel9 ~]# ll / 确保目录的所属组为tab
并要在此文件中创建的所有文件都属于这个组
借助systemd-tmpfiles定期清理临时文件
systemd-tmpfiles 是Linux系统中用于管理临时文件和目录的一个工具,是systemd套件的一部分。它提供了一种结构化的、可配置的方法来创建、删除和清理临时文件和目录,以确保系统的整洁和安全性。
systemd-tmpfiles的配置文件通常位于以下几个目录中,它们的优先级从上到下依次为:
/etc/tmpfiles.d/*.conf:系统管理员可以修改的配置文件。
/run/tmpfiles.d/*.conf:由守护进程(daemon)自己管理的配置文件,不建议普通用户更改。
/usr/lib/tmpfiles.d/*.conf:在软件安装时自动更新的配置文件,不建议普通用户更改。
配置文件时用于配置临时目录的路径和属性。
格式通常包括文件或目录类型(type) 路径(path) 权限(mode) 用户(UID) 用户组(GID) 生存时间(AGE)等字段。
[root@rhel9 ~]# vim /etc/tmpfiles.d/lhd.conf
进入你所创建的临时目录中并创建三个文件(文件名随意):
[root@rhel9 ~]# cd /tab_tmp/
[root@rhel9 tab_tmp]# touch file{1,2,3}
[root@rhel9 tab_tmp]# ll
总用量 0
-rw-r--r--. 1 root tab 0 7月 17 22:25 file1
-rw-r--r--. 1 root tab 0 7月 17 22:25 file2
-rw-r--r--. 1 root tab 0 7月 17 22:25 file3
题目中给的是超过一天以上的文件被清除,这里为了测试清除临时目录文件我将一天改为了一分钟
可以先创建file1和file2两个文件:
[root@rhel9 tab_tmp]# systemd-tmpfiles --create /tab_tmp/file1
[root@rhel9 tab_tmp]# systemd-tmpfiles --create /tab_tmp/file2
隔一分钟后创建file3文件
[root@rhel9 tab_tmp]# systemd-tmpfiles --create /tab_tmp/file3
[root@rhel9 tab_tmp]# systemd-tmpfiles --clean lhd.conf
最后可以看到临时文件file1和file2都被自动清除
4、
[root@rhel9 tab_tmp]# find /tab_tmp -type f -mtime +1 -exec rm {} \;
这个命令会查找 /tab_tmp
目录中所有超过1天(24小时)未修改的文件,并删除它们。