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: 每日凌晨一点执行定时清理日志任务

相关推荐
用户5508492902564 小时前
CSS布局实战:从Flex到Grid的完整避坑指南
前端
用户5508492902564 小时前
前端接口请求层怎么封装?一个可落地的请求方案
前端
沫璃染墨4 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
MetWeave4 小时前
跟着一条 SPECI 走流水线:从电报到界面
前端
wuminyu4 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++
Helix2505 小时前
Chrome 开发者工具进阶:长截图、网络调试与性能分析
前端·chrome·chrome devtools·使用技巧·性能分析·开发者工具·长截图
深念Y5 小时前
rime-雾凇拼音-配置记录
linux·junit·软件·拼音·kde
liangshanbo12155 小时前
面试题:Webpack 的 publicPath 有什么作用?
前端·webpack·node.js
mjhcsp5 小时前
DeepSeek V4.1 Flash 批量处理效能实测
java·前端·数据库
星夜夏空995 小时前
网络编程(5)—— Reactor实现(v3)
服务器·网络·php