6

#yyds干货盘点#批量删除过期文件的方法

 2 years ago
source link: https://blog.51cto.com/u_14832233/5009001
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

#yyds干货盘点#批量删除过期文件的方法

原创

liuzhen007 2022-02-15 09:54:46 博主文章分类:服务器 ©著作权

文章标签 音视频 当前目录 html 文章分类 Linux 系统/运维 阅读数438

目录

 问题

 解决

今天遇到一个问题,具体情况如下:目录 /var/www/html/media/chunks/ 中存在很多临时文件,需要进行删除,但是手动删除的话,会非常的慢,首先,我们查看一下3天前都有哪些文件。
命令如下:

find /var/www/html/media/chunks -mtime +3 -name "*.*"

查询结果部分截图如下: 

#yyds干货盘点#批量删除过期文件的方法_当前目录

粗略算了一下,大概上千个。
手动删除的话,估计要等到天荒地老。

既然需要根据时间来删除过期文件,那么我们必须要知道一些和时间相关的概念。关于文件的时间信息有三个:atime、mtime、ctime,它们的意思分别是:最近访问时间(access time)、最近更改时间(modify time)和最近状态改动时间(change time)。基于我们的诉求,很明显,我需要使用 mtime 时间。
下面通过一个例子来看一下这三个时间的具体表现形式:

#yyds干货盘点#批量删除过期文件的方法_当前目录_02

好了,既然明确了需要使用 mtime 时间参数,那么就来看一下如何使用这个命令参数吧。

find . -mtime n 

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

find . -mtime +n

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

find . -mtime -n

其中,n 为数字,意思是在当前目录下 n 天之内(含 n 天本身)被更改过内容的文件名。
最后,通过一张图来更加形象的理解 n 的实际含义:

#yyds干货盘点#批量删除过期文件的方法_音视频_03

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

find /var/www/html/media/chunks -mtime +3 -name "*.*" -exec rm -Rf {} \;

上述命令的作用就是将三天前查询到的文件都删除。
我们再执行最开始的查询命令,发现文件都已经删除了,截图如下:

#yyds干货盘点#批量删除过期文件的方法_音视频_04

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

  • 打赏
  • 收藏
  • 评论
  • 分享
  • 举报

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK