批量删除过期文件的方法

举报
liuzhen007 发表于 2022/02/15 09:57:05 2022/02/15
【摘要】 目录问题解决 问题今天遇到一个问题,具体情况如下:目录 /var/www/html/media/chunks/ 中存在很多临时文件,需要进行删除,但是手动删除的话,会非常的慢,首先,我们查看一下3天前都有哪些文件。命令如下:find /var/www/html/media/chunks -mtime +3 -name “.”查询结果部分截图如下:​粗略算了一下,大概上千个。手动删除的话,估计...

目录

问题

解决

问题

今天遇到一个问题,具体情况如下:目录 /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 时间参数,那么就来看一下如何使用这个命令参数吧。

  1. 方式一

find . -mtime n

其中,n 为数字,意思是在当前目录下 n 天之前的“一天之内”被更改过内容的文件。

  1. 方式二

find . -mtime +n

其中,n 为数字,意思是在当前目录下 n 天之前(不含 n 天本身)被更改过内容的文件名。

  1. 方式三

find . -mtime -n

其中,n 为数字,意思是在当前目录下 n 天之内(含 n 天本身)被更改过内容的文件名。

最后,通过一张图来更加形象的理解 n 的实际含义:

好了,现在可以直接上大招啦:

find /var/www/html/media/chunks -mtime +3 -name “.” -exec rm -Rf {} ;

上述命令的作用就是将三天前查询到的文件都删除。

我们再执行最开始的查询命令,发现文件都已经删除了,截图如下:

作者简介:😄大家好,我是 Data-Mining(liuzhen007),是一位典型的音视频技术爱好者,前后就职于传统广电巨头和音视频互联网公司,具有丰富的音视频直播和点播相关经验,对 WebRTC、FFmpeg 和 Electron 有非常深入的了解,😄公众号:玩转音视频。同时也是 CSDN 博客专家、华为云享专家(共创编辑)、InfoQ 签约作者,欢迎关注我分享更多干货!😄

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。