Linux分隔springboot项目服务日志

这篇博客介绍了如何在Linux环境中使用shell脚本来定时分割SpringBoot项目的服务日志,并进行清理。提供了两种脚本方案,一种是针对特定日志文件的分割,另一种包括了日志的切分和30天前日志的删除。通过crontab设置定时任务,确保日志管理的自动化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux定时分隔springboot项目服务日志

根据进程查询启动脚本位置,以及查询服务启动输出的文件

Step1:查看进程id
输入ps或ps -ef |grep java
Step1:查看进程id
Step2:查看标准输出
切换到/proc//fd下,目录中的每一项都是一个符号链接,指向打开的文件,数字则代表文件描述符。其中1 = stdout, 2 = stderr

打开启动脚本位置:cd /proc//cwd
查看启动脚本位置: ll /proc//cwd

第一种(已测试):

#!/bin/bash
this_path=$(cd `dirname $0`;pwd)
file=idc-business #原始日志名称
current_date=`date -d "yesterday" +%Y_%m_%d-%M-%S`
path_log=$this_path/logs
path_split_log=$path_log/splitlog
date=`date -d "yesterday" +%Y_%m_%d-%M-%S`
#实际上是1天前的所以增加1 day ago
date_file=$file_$date
cp $path_log/$file.out  $path_split_log/$date_file.log
cat /dev/null > $path_log/$file.out

   if [ $path_log/$file.out -eq 0 ];then
        echo "Split is finished!"
    else
        echo "Split is Failed!"
        exit 1
    fi

每隔5分钟定时执行
crontab -e

*/5 * * * *   sh  /app/vrms/server/idcbussiness/splitlog.sh

第二种(未测试):

#!/bin/bash
# Author: JamesLuo
# Last Update: 2022.07.29
# Description: nohup.out 日志分割
this_path=$(cd `dirname $0`;pwd)   #根据脚本所在路径
current_date=`date -d "-1 day" "+%Y%m%d"`   #列出时间
cd $this_path
echo $this_path
echo $current_date  
 
do_split () {
    [ ! -d logs ] && mkdir -p logs
    #split -b 10m -d -a 4 ./nohup.out   ./logs/nohup-${current_date}.log  #切分10兆每块至logs文件中,格式为:nohup-xxxxxxxxxx
    
   if [ $? -eq 0 ];then
        echo "Split is finished!"
    else
        echo "Split is Failed!"
        exit 1
    fi
}
 
do_del_log() {
    find ./logs -type f -ctime +30 | xargs rm -rf #清理30天前创建的日志
    cat /dev/null > nohup.out #清空当前目录的nohup.out文件
}
 
if do_split ;then
    do_del_log
    echo "nohup is split Success"
else
    echo "nohup is split Failure"
    exit 2
fi

crontab -e 添加定时任务:每周第一天的1点执行一次

#0 1 * * */1 /server/scripts/clearNohup.sh &>/dev/null

添加定时任务

crontab -e #添加定时任务:每周第一天的1点执行一次

 0 1 * * */1 /server/scripts/clearNohup.sh &>/dev/null 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值