如何在Linux利用Find按访问时间Atime清理过期超过一个月的业务缓存

胖辰君_9275

胖辰君_9275

2026-05-13

133人浏览

原创

应优先使用-mtime或-ctime清理缓存,仅当确认atime可靠启用时才用-atime +30;需检查挂载选项、临时或永久启用atime、安全预览文件、谨慎执行带日志的删除,并考虑lru等替代策略。

如何在linux利用find按访问时间atime清理过期超过一个月的业务缓存

可以使用 find 命令结合 -atime 选项按最后访问时间(Access Time)查找并删除超过30天未被访问的缓存文件,但需注意:atime 默认更新频繁且可能被挂载选项(如 relatime 或 noatime)抑制,实际生产中更推荐用 -mtime(修改时间)或 -ctime(状态变更时间)来清理缓存。若业务明确依赖访问行为(如静态资源CDN缓存命中判断),且确认 atime 可靠启用,则可按以下方式操作。

确认文件系统支持并启用 atime 更新

Linux 默认常以 relatime 挂载(减少磁盘写入),此时 atime 仅在 mtime/ctime 更新后或距上次更新超24小时才更新,会导致 -atime +30 不准确。如需严格按真实访问时间清理:

  • 检查挂载选项:mount | grep "your_cache_mount_point",确认是否含 noatime(禁用)或 relatime
  • 临时启用严格 atime(需 root):mount -o remount,atime /path/to/cache
  • 永久生效需修改 /etc/fstab,将对应行的 relatime 或 noatime 改为 atime,然后 mount -o remount

安全查找并预览待清理文件

执行删除前务必先测试查找逻辑是否符合预期:

Linux Distros
Linux Distros

Linux发行版游乐场,适用于需要临时Linux沙箱、基于浏览器的Linux虚拟机、一次性终端环境、桌面Linux会话等场景

下载
  • 列出所有访问时间超过30天的文件(不含目录):find /path/to/cache -type f -atime +30
  • 限制深度避免误扫子挂载点:find /path/to/cache -maxdepth 3 -type f -atime +30
  • 按访问时间排序查看最“陈旧”的10个:find /path/to/cache -type f -atime +30 -printf '%T@ %p\n' | sort -n | head -10 | cut -d' ' -f2-

执行清理(建议加日志+谨慎删除)

不建议直接用 -delete(不可逆且不兼容所有 find 版本),推荐用 -exec 安全删除,并记录日志:

  • 删除并记录到日志:find /path/to/cache -type f -atime +30 -exec rm -f {} \; -print >> /var/log/cache_atime_cleanup.log 2>&1
  • 如需保留空目录,加 -depth 避免“目录非空”错误:find /path/to/cache -depth -type f -atime +30 -exec rm -f {} \;
  • 对大目录可限速防 I/O 冲击:find /path/to/cache -type f -atime +30 -exec ionice -c 3 rm -f {} \;

替代方案:更稳妥的缓存清理策略

因 atime 可靠性受限,多数业务缓存更适合以下方式:

  • 用 mtime 清理:缓存写入即更新 mtime,find /cache -type f -mtime +30 -delete
  • 按文件名/路径规则清理:如只清 *.tmp 或 /cache/session/ 下内容
  • 结合 LRU 工具:用 tmpwatch(RHEL/CentOS)或自研脚本统计访问频次
  • 应用层主动管理:缓存服务(如 Redis、Varnish)内置 TTL,比文件系统 atime 更精准

不复杂但容易忽略:atime 清理不是“设了就准”,它高度依赖系统配置和访问模式。上线前务必在测试环境验证 atime 行为,并监控清理效果与磁盘释放量。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

437

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

900

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2812

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

936

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

849

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

434

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2536

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4712

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

747

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习