如何在Linux利用Find-Mtime+30清理生产环境存放超过一个月的非核心历史日志

酷萱同学_8458

酷萱同学_8458

2026-05-04

990人浏览

原创

清理生产环境历史日志的关键是删得准、稳、可追溯:限定目录(如/data/app/logs/)、精确匹配后缀、加-type f和-maxdepth 2,先预览再删除并记录,推荐压缩或归档替代直接删除。

如何在linux利用find-mtime+30清理生产环境存放超过一个月的非核心历史日志

直接用 find -mtime +30 清理生产环境的历史日志,关键不是“能不能删”,而是“删得准、删得稳、删得可追溯”。非核心日志(比如应用临时日志、调试日志、归档备份日志)可以清理,但必须避开正在被进程写入的活跃文件、系统关键路径(如 /var/log/journal)、以及硬链接或挂载点下的伪文件。

明确目标范围,避免误伤

先限定目录和文件类型,不盲目扫全盘:

  • 只清理指定业务日志目录,例如:/data/app/logs/、/opt/myapp/archive/,不碰 /var/log/ 下的 systemd 或 rsyslog 主日志
  • 用 -name "*.log" 或 -name "access_*.txt" 精确匹配后缀,避免误删 .pid、.lock 或配置文件
  • 加 -type f 确保只处理普通文件,跳过目录、socket、设备节点
  • 加 -maxdepth 2 控制搜索深度,防止递归进意外子卷或 NFS 挂载点

安全执行:先查再删,留痕可验

绝不直接执行删除命令。分两步走:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 先预览将被清理的文件:
    find /data/app/logs/ -type f -name "*.log" -mtime +30 -ls
  • 确认无误后,再执行删除,并记录操作时间与文件数:
    find /data/app/logs/ -type f -name "*.log" -mtime +30 -print0 | xargs -0 rm -f && echo "$(date): $(find /data/app/logs/ -type f -name '*.log' -mtime +30 | wc -l) files removed" >> /var/log/clean-logs.log

集成到定时任务,带权限与环境隔离

写成独立脚本并设为 root 执行,避免 crontab 环境变量缺失导致路径错误:

  • 创建脚本:/usr/local/bin/clean-old-logs.sh
  • 内容示例:
    #!/bin/bash<br>LOG_DIR="/data/app/logs"<br>find "$LOG_DIR" -type f -name "*.log" -mtime +30 -print0 | xargs -0 rm -f<br>echo "$(date): cleanup done for $LOG_DIR" >> /var/log/clean-logs.log
  • 赋权:chmod 755 /usr/local/bin/clean-old-logs.sh
  • cron 设置(每天凌晨 2:15 执行):
    15 2 * * * /usr/local/bin/clean-old-logs.sh

补充建议:比删除更稳妥的替代方案

对部分仍需保留痕迹但又占空间的日志,可考虑压缩归档而非直接删除:

  • 把 30 天前的 .log 改为 .log.gz:
    find /data/app/logs/ -type f -name "*.log" -mtime +30 -exec gzip {} \;
  • 或统一移到归档目录,便于审计调阅:
    mkdir -p /data/app/logs/archive/$(date -d '30 days ago' +%Y%m); find /data/app/logs/ -type f -name "*.log" -mtime +30 -exec mv {} /data/app/logs/archive/$(date -d '30 days ago' +%Y%m)/ \;

相关专题

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

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

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

2712

5

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

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

2023.10.09

916

5

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

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

2023.10.17

809

5

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

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

2023.10.17

414

3

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

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

2023.10.18

2456

4

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

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

2023.10.20

4532

4

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

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

2023.10.20

727

5

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习