当前位置:首页>Linux>Linux 服务器日志自动清理方案 - Cron 定时删除

Linux 服务器日志自动清理方案 - Cron 定时删除

  • 2026-09-02 19:12:07
Linux 服务器日志自动清理方案 - Cron 定时删除

Linux  服务器日志自动清理方案 - Cron 定时任务实践

一、背景问题

在生产环境中,随着服务持续运行,日志文件会不断累积,占用大量磁盘空间。以某开发测试服务器为例:

日志目录:/data/logs

服务数量:100+ 个微服务

磁盘占用:28G

待清理文件:24267 个(超过 7 天)

如果不及时清理,可能导致磁盘空间不足,影响服务正常运行。

二、日志目录分析

2.1 目录结构

2.2 日志文件命名规则

通过分析,发现日志文件主要有以下几种命名格式:

三、解决方案设计

3.1 技术方案

使用 find + cron 组合实现自动化日志清理:

find 命令:按文件类型和修改时间筛选日志文件

cron 定时任务:每天定时执行清理脚本

日志记录:记录每次清理操作,便于追溯

3.2 安全措施

四、实施步骤

4.1 创建脚本目录

4.2 创建清理脚本

创建文件 /data/scripts/clean_old_logs.sh:

4.3 赋予执行权限

4.4 配置 Cron 定时任务

Cron 表达式说明:

五、验证与测试

5.1 预览待删除文件

5.2 手动执行测试

5.3 查看 Cron 执行日志

六、find 命令详解

6.1 核心参数说明

6.2 时间参数对比

七、排除或指定目录清理

7.1 如何排除某些目录不清理?

7.2 如何只清理特定服务的日志?

修改 LOG_DIR 或添加路径过滤:

八、总结

本方案通过 find + cron 实现了服务器日志的自动化清理:

项目 配置

清理目录 /data/logs

保留天数 7 天

执行时间 每天 09:00

清理记录 /data/scripts/clean_logs_history.log

核心优势:

✅ 自动化执行,无需人工干预

✅ 安全限制,避免误删重要文件

✅ 操作留痕,便于问题追溯

✅ 配置灵活,易于调整参数

最新文章

随机文章