You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除创建时间超过7天的日志文件(不考虑修改时间)

解决方案

你之前使用的-mtime参数匹配的是文件最后修改时间,要实现按创建时间删除、忽略修改时间的需求,需要匹配文件的创建时间(birth time/crtime)作为判断条件,不同环境的具体命令如下:

1. GNU/Linux 环境(适用于绝大多数Linux发行版,如CentOS、Ubuntu、Debian等)

GNU版find支持-birthtime参数直接匹配文件创建时间:

  • 先执行打印命令确认匹配的文件符合预期,避免误删:
    find /path/to/logs -type f -birthtime +7 -print
  • 确认无误后执行删除:
    find /path/to/logs -type f -birthtime +7 -exec rm -f {} \;
    如果要处理的文件数量较多,可以用更高效的xargs写法:
    find /path/to/logs -type f -birthtime +7 -print0 | xargs -0 rm -f

注意:如果执行命令提示不支持-birthtime参数,请确认你的系统使用的文件系统为ext4、xfs、btrfs等支持存储创建时间的格式,且GNU find版本不低于4.3.3。


2. macOS/BSD 环境

BSD系find使用-Btime参数匹配创建时间:

  • 测试打印命令:
    find /path/to/logs -type f -Btime +7d -print
  • 确认后删除命令:
    find /path/to/logs -type f -Btime +7d -exec rm -f {} \;

额外提示:如果不需要递归处理日志目录下的子目录,可以在find参数中加入-maxdepth 1限制仅遍历目标目录的一级文件。

内容的提问来源于stack exchange,提问作者Ayush Kapil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:54:02