用find按mtime+365查找全系统归档日志,需sudo权限、-type f限定文件、括号组合多种后缀,可加-size和sort优化;mtime反映归档时间,ctime更稳妥,stat可核验。

直接用 find 按修改时间(mtime)找超过一年的文件即可,但要注意“+365”不是指“365天前”,而是“**365天以前(不含当天)**”,即至少已存在365天整的文件——这恰好符合“超过一年”的语义。
确认日志文件位置与命名特征
全系统归档日志通常分散在:
-
/var/log/及其子目录(如/var/log/archive/、/var/log/journal/) -
/opt/app/logs/、/usr/local/logs/等自定义路径(需结合业务确认) - 常见归档后缀:
.log.gz、.log.bak、.old、.archive、.tar.gz
基础查找命令(推荐加 -type f 避免误入目录)
执行以下命令搜索所有普通文件中修改时间早于365天的归档日志:
sudo find / -type f \( -name "*.log.gz" -o -name "*.log.bak" -o -name "*.old" -o -name "*.archive" -o -name "*.tar.gz" \) -mtime +365 2>/dev/null
说明:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
sudo是必须的,否则会因权限不足跳过/var/log/等受保护目录 -
-mtime +365表示“最后修改时间在365天之前”,即文件年龄 > 365 天 -
2>/dev/null屏蔽“Permission denied”等报错,让结果更干净 - 括号
\( ... \)和-o用于组合多种后缀,注意转义
增强实用性:按大小排序 + 限制深度(可选)
若想优先关注大体积旧日志(例如清理空间),可追加排序和大小过滤:
sudo find / -type f \( -name "*.log.gz" -o -name "*.log.bak" \) -mtime +365 -size +10M 2>/dev/null | xargs ls -lh 2>/dev/null | sort -k5,5hr
说明:
-
-size +10M只匹配大于10MB的文件(避免海量小文件干扰) -
xargs ls -lh显示人类可读大小和时间 -
sort -k5,5hr按第5列(大小)逆序排列(最大的在前)
补充提醒:mtime ≠ 创建时间,且归档日志建议用 ctime 或 stat 核验
mtime 是“最后修改时间”,对已压缩归档的日志(如 .tar.gz)来说,它反映的是打包完成时间,一般就是归档时间,可用。但若担心日志被 touch 过或需要精确到创建时间:
- Linux 不直接记录文件创建时间(birth time),但部分支持
stat -c "%w" file(需 XFS/Btrfs + kernel ≥4.11) - 更稳妥方式是查
ctime(状态变更时间),它会在归档时更新,命令为:find ... -cmin +525600(525600 分钟 ≈ 365 天) - 实际审计前,建议随机抽查几个结果:
stat /path/to/file查看 mtime/ctime 是否合理










