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

Linux下使用find命令删除超期文件时如何记录被删文件日志

操作方案

你可以直接修改原有find命令,在执行删除动作前把待删除文件的路径写入指定日志文件,不需要额外写脚本,两种常用可靠写法如下:

  • 基础版:仅记录被删除文件的路径,执行效率高
find ./path/delete -type f -mtime +10 -print -exec rm {} \; > /your/non-clean-path/deleted_files.log

命令里的-print会在执行rm操作前,把所有匹配到的待删除文件路径输出到标准输出,通过重定向写入日志文件,不会出现文件删了但没记录到的问题。

  • 增强版:日志带删除时间戳,方便后续溯源排查
find ./path/delete -type f -mtime +10 -exec echo "[$(date +'%Y-%m-%d %H:%M:%S')] 已删除文件: {}" >> /your/non-clean-path/deleted_files.log \; -exec rm {} \;

重要注意事项
存储删除记录的日志文件不要放在./path/delete这类待清理目录下,否则日志文件本身如果满足修改时间超过10天的条件,会被误识别为待删除文件清理掉,建议放在不会被该清理规则扫描到的独立路径下。

另外补充:原命令里的-name '*'属于冗余参数,find默认就会匹配所有文件名,移除该参数不会影响文件匹配结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 01:15:38