springboot服务日志切割处理

背景:

        系统刚上线,需要优化的地方还有很多,首要的就是保证服务日志记录完整,查看方便,有本地备份,保障数据日志的完整性。部分核心服务日志每日都是几个G,不进行处理,后期排查问题分析日志就会很痛苦。

思路:

        1、查找需要进行备份的日志。

        2、复制一份到备份目录。

        3、压缩,提高存储效率。

        4、截断原日志文件,保障日志文件每日循环。

        5、定时清理,可配置。

开干:

backup_mdm_logs.sh

#!/bin/bash

# 定义源目录和目标目录
LOG_DIR="/data/*****/deploy/logs"
BACKUP_DIR="/data/*****/deploy/logs/log_bak"
DATE=$(date +%Y-%m-%d)

# 确保备份目录存在
mkdir -p "$BACKUP_DIR/$DATE"

# 查找所有以 .log结尾的日志文件
find "$LOG_DIR" -name "*.log" -type f | while read -r file; do
    # 获取文件名
    filename=$(basename "$file")
    
    # 复制文件到备份目录(保留原文件)
    cp "$file" "$BACKUP_DIR/$DATE/$filename"
    
    # 压缩备份的文件
    gzip "$BACKUP_DIR/$DATE/$filename"
    
    # 可选:清空原日志文件(保留文件,只清空内容)
    > "$file"
done

# 可选:删除30天前的备份
find "$BACKUP_DIR" -type d -mtime +30 -exec rm -rf {} \;

效果展示:

 脚本设置定时执行后的

备份在log_bak目录下,压缩存储

顿时看着清爽了好多

其他补充:

        需要备份其他日志目录的,参考这个进行改写即可。

         建议设置成定时任务,每日凌晨。这样每日分析日志就是当天的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值