linux 自动清除日志 脚本

一、 remove_logs.sh 脚本编写

bash 复制代码
#!/bin/bash
#定义日志文件路径
LOG_DIR="/usr/local/src/cncareer-client/logs"
#删除超过2天的日志文件,即只保留近2天的日志
find $LOG_DIR -name "*.log" -type f -mtime +2 -exec rm -f {} \;
find $LOG_DIR -name "*.html" -type f -mtime +2 -exec rm -f {} \;

脚本解释:

  • find $LOG_DIR :在 LOG_DIR 目录下递归查找。

  • -name "*.log" :文件名匹配 *.log 模式。

  • -type f:只匹配普通文件(不包括目录、链接等)。

  • -mtime +2 :筛选修改时间(modification time)超过2天的文件。

    • +2 表示文件最后修改时间在 2×24小时之前 ,即至少是 3天前 修改的文件(严格来说是 >2 天)。

    • 删除的是 修改时间距今大于2天(即3天及更早) 的文件

  • -exec rm -f {} \; :对每个匹配的文件执行 rm -f 强制删除(-f 忽略不存在的文件且不提示确认)。{} 被替换为当前文件路径,\; 表示 -exec 命令结束。

二、赋予脚本执行权限

复制代码
chmod +x remove_logs.sh

三、cron 自动化配置

复制代码
crontab -e 
bash 复制代码
0 1 * * * /usr/local/src/cncareer-client/remove_logs.sh >/dev/null 2>&1

编辑保存

PS: 每日凌晨一点执行定时清理日志任务

相关推荐
kyriewen几秒前
看了微软几万人用AI编程的数据——效率涨24%的代价没人提
前端·ai编程·claude
2601_963771372 分钟前
How to Scale Your WordPress Store Traffic in 2026
前端·php·plugin
亿元程序员11 分钟前
老板说我的3D箭头游戏用来做试玩太普通了,没人想玩,让我变点花样...
前端
其实防守也摸鱼14 分钟前
运维--学习阶段问题解答(1)(自测)
linux·运维·服务器·数据库·学习·自动化·命令模式
懒鸟一枚24 分钟前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
李伟_Li慢慢1 小时前
01-threejs架构原理-课程简介
前端·three.js
玖玥拾1 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
土星云SaturnCloud2 小时前
边缘计算驱动绿氢生产过程智能寻优:电解槽级实时优化技术解析
服务器·人工智能·ai·边缘计算
Darkwanderor2 小时前
对Linux的进程控制的研究
linux·运维·c++
_瑞2 小时前
深入理解 iOS 渲染原理
前端·ios