写点什么

如何在 Linux 中删除超过 30 天的文件

作者:wljslmz
  • 2022 年 10 月 02 日
    江苏
  • 本文字数:1270 字

    阅读完需:约 4 分钟

如何在 Linux 中删除超过 30 天的文件

在日常运维工作中,我们可能有这样的场景:删除超过 30 天的数据。


最佳做法是在一段时间后从 Linux 系统中查找并删除旧的或未使用的文件,这样释放系统上的一些空间,让系统做更多有意义的。


因为在删除文件之前它不会要求您确认,所以请确保不再需要这些文件。


本文将向您展示如何在 Linux 中查找和删除超过 30 天的文件。


要删除 Linux 服务器上超过 30 天的文件,您需要一起使用多个命令,例如 find 命令、mtime 命令、exec 命令和 rm 命令。

什么是 mtime 命令

mtime(File Last Modify Time,文件上次修改时间)。


mtime 显示修改、附加或更新文件内容的时间。


time 参数单位默认未为'24 hours'。例如,时间 2 = 2*24 小时(2 天)。

1) 搜索和删除超过 30 天的文件

首先,我们将在“/opt/app/java”目录下找出所有超过 30 天的文件。


以下输出将允许您在删除这些文件之前检查是否需要这些文件。如果没有,请使用以下命令删除它们。


$ find /opt/app/java -type f -mtime +30 -print
/opt/app/java/shce.zip/opt/app/java/zhpt.zip/opt/app/java/rocketmp.zip/opt/app/java/redis.zip/opt/app/java/jdk.zip/opt/app/java/zookper.zip/opt/app/java/gb-28181.png/opt/app/java/external-server.png/opt/app/java/router.png
复制代码


一旦您确定不再需要这些文件,请继续使用以下命令之一将其删除。


$ find /opt/app/java -type f -mtime +30 -exec rm -f {} \;
复制代码


或者


$ find /opt/app/java -type f -mtime +30 | xargs rm -f
复制代码


细节:


  • find: find 是一个命令

  • /opt/app/java: 文件路径(替换成你要的路径即可)

  • -type f: 什么类型的文件

  • -mtime +30: 它过滤 30 天前的文件。

  • -exec rm -f 执行文件删除操作

  • {}: 表示通过 Find 命令找到的文件。

  • \; 它将结束命令。


2) 使用通配符选项删除超过 30 天的文件


在很多情况下,当日志目录中有许多不同名称的日志文件时,您可能需要根据名称删除文件,我通常使用此命令删除系统上超过 30 天的文件。


最好进行试运行,而不是直接移除,这样可以有时间在删除文件之前进行检查。


$ find /opt/app/java -type f -name "Trans_suc*" -mtime +30 -print
复制代码


验证列表后,选择以下命令之一将其删除。


$ find /opt/app/java -type f -name "Trans_suc*" -mtime +30 -exec rm -f {} \;
复制代码


或者


$ find /opt/app/java -type f -name "Trans_suc*" -mtime +30 | xargs rm -f
复制代码


3) 使用特定扩展名删除超过 30 天的文件


有时您可能需要根据文件扩展名删除文件而不是直接删除它们。例如,要删除带有“.log”扩展名并在 30 天内修改的文件,请运行:


首先,让我们在“/var/log”目录下查找并打印超过 30 天的日志文件列表:


$ find /var/log -type f -name "*.log" -mtime +30 -print
/var/log/error.log/var/log/access.log
复制代码


如果不再需要,请检查列表并使用以下命令之一将其删除。


$ find /var/log -type f -name "*.jpeg" -mtime +1 -exec rm -f {} \;
复制代码


或者


$ find /var/log -type f -name "*.jpeg" -mtime +1 | xargs rm -f
复制代码

总结

在本文中,我们通过三个不同的例子向您展示了如何在 Linux 上删除超过 30 天的文件,它不限于 30 天,可以根据需要更改天数。

发布于: 刚刚阅读数: 3
用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021.05.24 加入

公众号:网络技术联盟站 👍InfoQ签约作者 👍阿里云社区签约作者 👍华为云 云享专家 👍BOSS直聘 创作王者 👍腾讯课堂创作领航员 博客+论坛:https://www.wljslmz.cn 工程师导航:https://www.wljslmz.com

评论

发布
暂无评论
如何在 Linux 中删除超过 30 天的文件_Linux_wljslmz_InfoQ写作社区