当前位置: 首页 > 科技观察

如何实现Linuxtmp目录的自动清理_0

时间:2023-03-16 17:22:38 科技观察

在Linux系统中,/tmp文件夹下的文件会被清理删除。如何设置文件清理规则?以Redhat为例,这主要是由于操作时会调用tmpwatch命令来删除一段时间内没有访问过的文件。那么什么是tmpwatch?实际上,tmpwatch是一个命令或一个包。tmpwatch-删除一段时间内未被访问的文件[root@DB-Server~]#rpm-qa|greptmpwatchtmpwatch-2.9.7-1.1.el5.5[root@DB-Server~]#whereistmpwatchtmpwatch:/usr/sbin/tmpwatch/usr/share/man/man8/tmpwatch.8.gz[root@DB-Server~]#file/usr/sbin/tmpwatch/usr/sbin/tmpwatch:ELF64-bitLSBexecutable,AMDx86-64,version1(SYSV),forGNU/Linux2.6.9,dynamicallylinked(usesharedlibs),forGNU/Linux2.6.9,stripped[root@DB-Server~]#`关于tmpwatch命令的参数,不同版本可能不同,以下是基于RedHatEnterpriseLinuxServerrelease5.7TMPWATCH(8)是列函数:删除一段时间内没有被访问的文件。参数:-u以文件的***访问时间为参考,即***访问时间。默认选项。可以通过ls-lu查看。-m以文件的***修改时间为准,即以***修改时间为参考。可以通过ls-l查看。-c以文件的-ctime时间为参考,更新ctime的条件是写入、更改属主、权限。可以通过ls-lc查看。-M根据修改时间而不是访问时间删除目录。-a删除所有类型的文件。包括目录和符号链接-d--nodirs排除目录文件,甚至是空目录。-d--nosysmlinks排除符号链接类型的文件。-f强制删除那些root没有写权限的文件。例如,root的只读文件-q只报告错误信息。-x/PATH排除特定目录,即不删除该子目录下的文件。-Uuser_name排除属于特定用户的文件,即不删除该用户的文件。-v显示删除进度。默认不显示删除了哪些文件,直接删除。-t用于测试,并没有真正删除文件,它可以显示删除文件的过程。-d不删除文件中的子目录,但子目录中的文件仍会被删除。在参数后面加上时间,默认是小时。也可以用30d表示30天,但有些版本只支持小时。时间之后是要检查的目录。多个目录可以用空格分隔。如下所示意味着720小时~=30天。[root@DB-Server~]#more/etc/cron.daily/tmpwatchflags=-umc/usr/sbin/tmpwatch"$flags"-x/tmp/.X11-unix-x/tmp/.XIM-unix\-x/tmp/.font-unix-x/tmp/.ICE-unix-x/tmp/.Test-unix\-X'/tmp/hsperfdata_*'240/tmp/usr/sbin/tmpwatch"$flags"第720章flags"-f720"$d"fidone[root@DB-Server~]#如果要强制删除30天到7天没有访问过的文件,只要"/usr/sbin/tmpwatch"$flags"720/var/tmp"和"/usr/sbin/tmpwatch"$flags"-f720"$d"可以把720改成189。