#yyds干货盘点#批量删除过期文件的方法
Posted liuzhen007
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#批量删除过期文件的方法相关的知识,希望对你有一定的参考价值。
目录
问题
今天遇到一个问题,具体情况如下:目录 /var/www/html/media/chunks/ 中存在很多临时文件,需要进行删除,但是手动删除的话,会非常的慢,首先,我们查看一下3天前都有哪些文件。
命令如下:
find /var/www/html/media/chunks -mtime +3 -name "*.*"
查询结果部分截图如下:
粗略算了一下,大概上千个。
手动删除的话,估计要等到天荒地老。
解决
既然需要根据时间来删除过期文件,那么我们必须要知道一些和时间相关的概念。关于文件的时间信息有三个:atime、mtime、ctime,它们的意思分别是:最近访问时间(access time)、最近更改时间(modify time)和最近状态改动时间(change time)。基于我们的诉求,很明显,我需要使用 mtime 时间。
下面通过一个例子来看一下这三个时间的具体表现形式:
好了,既然明确了需要使用 mtime 时间参数,那么就来看一下如何使用这个命令参数吧。
- 方式一
find . -mtime n
其中,n 为数字,意思是在当前目录下 n 天之前的“一天之内”被更改过内容的文件。
- 方式二
find . -mtime +n
其中,n 为数字,意思是在当前目录下 n 天之前(不含 n 天本身)被更改过内容的文件名。
- 方式三
find . -mtime -n
其中,n 为数字,意思是在当前目录下 n 天之内(含 n 天本身)被更改过内容的文件名。
最后,通过一张图来更加形象的理解 n 的实际含义:
好了,现在可以直接上大招啦:
find /var/www/html/media/chunks -mtime +3 -name "*.*" -exec rm -Rf \\;
上述命令的作用就是将三天前查询到的文件都删除。
我们再执行最开始的查询命令,发现文件都已经删除了,截图如下:
作者简介:
以上是关于#yyds干货盘点#批量删除过期文件的方法的主要内容,如果未能解决你的问题,请参考以下文章
# yyds干货盘点 # 盘点6个Pandas中批量替换字符的方法