我们知道系统中经常会有一些文件长期不用,真的没用,如果不去处理它们,无用的文件会越来越多,会浪费很多时间。系统资源。在不知道文件名的情况下,很难查看某个目录下有哪些文件长时间没有被访问,同时删除这些文件。今天我们就来介绍一个非常实用的工具来完成这项工作——tmpwatch什么是tmpwatch?tmpwatch可以循环删除指定目录下指定时间内没有访问过的文件。例如,/tmp或/var/tmp等目录。它只清除指定目录下的空目录、普通文件和符号链接文件,不会影响其他目录,而且会避开那些属于root用户的系统相关关键文件。默认情况下,tmpwatch命令根据文件的atime(访问时间)而不是mtime(修改时间)删除文件。如果你想改变它的删除依据,你可以在使用这个命令的时候添加你想修改的参数。注意:切勿在根目录下运行tmpwatch或tmpreaper命令,因为系统没有机制阻止您在根目录下运行此命令。如何在Linux上安装tmpwatch各个Linux发行版的安装命令略有不同,具体安装方法如下。如果你的Linux发行版是REHL/CentOS6,你可以使用yum命令来安装tmpwatch。示例如下:$sudoyuminstall-ytmpwatch如果你的Linux发行版是Debian或Ubuntu,你需要使用apt或apt-get命令安装Tmpreaper,示例如下:$sudoapt-getinstalltmpreaper如果如果您使用的是openSUSE,您应该使用zypper命令安装tmpwatch:$sudozypperinstall-ytmpwatch如果您的Linux发行版是Fedora,您应该使用dnf命令安装tmpwatch:$sudodnfinstall-ytmpwatch注意:在Debian中基于Linux系统,使用tmpreaper命令代替tmpwatch。如果您使用的系统是基于Debian的Linux版本,使用下面的示例只需将tmpwatch替换为tmpreaper。tmpwatch命令关键选项及参数atime(FileLastAccessTime):文件最后一次被访问的时间;mtime(FileLastModifyTime):文件内容最后一次被修改的时间;ctime(FileLastChangeTime):文件元素上次修改数据的时间,即文件相关属性被修改的时间。大多数情况下,mtime和ctime的值是一样的,但是当文件所有者、权限、组等不涉及内容的属性被修改时,只会影响ctime;dirmtime(DirectoryLastmodificationtime):目录最后一次修改的时间。这些时间参数用于设置删除文件的条件阈值:d:单位为天;h:单位为小时;m:单位为分钟;s:单位是秒。使用tmpwatch命令删除一段时间内没有被访问过的文件前面提到过,tmpwatch命令的默认选项是atime,默认的单位参数是h,所以如果真的要按访问时间删除以小时文件计算,则不需要添加任何特殊选项或参数后缀,直接使用该命令即可。如下例所示,是删除/tmp目录下5小时内没有访问过的文件:#tmpwatch5/tmp下例是删除/home/daygeek/Downloads目录下的文件十小时内没有被修改过的目录,注意如果要按照mtime删除文件需要在命令中加上-m选项:#tmpwatch-m10/home/daygeek/Downloads删除文件以其他单位计算的一定时间内未访问过的文件如果要以天为单位,需要添加后缀d,如下删除30天内未访问过的文件:#tmpwatch30d/home/daygeek/Downloads删除所有一段时间未使用的文件如果你不仅要删除普通文件、符号链接文件、空目录文件,而且如果你要删除指定目录下的所有文件一定时间没有被访问,需要加上选项-a,如下删除指定目录12小时内没有修改的内容所有文件:#tmpwatch-am12/tmp排除一些删除操作中的目录。下面的命令可以让那些十小时内没有修改过的目录不被删除:#tmpwatch-am10--nodirs/home/daygeek/Downloads将特定路径排除在删除操作之外。以下命令删除/home/daygeek/Downloads目录下十小时内所有未修改的文件,但/home/daygeek/Downloads/Movies路径不受影响,即该路径下未修改的文件十小时内修改过的文件不会被删除:#tmpwatch-am10--exclude=/home/daygeek/Downloads/Movies/home/daygeek/Downloads将特定格式的文件从删除操作中排除如下所示命令为删除指定文件下所有10小时内未更改的文件,pdf格式的文件除外:#tmpwatch-am10--exclude-pattern='*.pdf'/home/daygeek/Downloadstmpwatch预览效果如下命令是tmpwatch功能和效果的预览:#tmpwatch-t5h/home/daygeek/Downloads使用tmpwatch设置一个定时任务,定时执行删除操作。为了完成这个任务,它将在/etc/cron.daily/tmpreaper目录中保留一个cronjob文件。该文件根据/etc/timereaper.conf中的设置工作。您可以根据需要进行设置。上午10点,删除指定目录下15天未访问的文件:#crontab-e010***/usr/sbin/tmpwatch15d/home/daygeek/Downloads以上由良旭教程网分享给大家所有的朋友Linux会删除很长时间没有使用的旧文件。以上就是良序教程网为各位小伙伴们分享的Linux相关知识。
