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.outif [ $path_log/$file.out -eq 0 ];thenecho "Split is finished!"elseecho "Split is Failed!"exit 1fi

每隔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-xxxxxxxxxxif [ $? -eq 0 ];thenecho "Split is finished!"elseecho "Split is Failed!"exit 1fi
}do_del_log() {find ./logs -type f -ctime +30 | xargs rm -rf #清理30天前创建的日志cat /dev/null > nohup.out #清空当前目录的nohup.out文件
}if do_split ;thendo_del_logecho "nohup is split Success"
elseecho "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

Linux分隔springboot项目服务日志相关推荐

  1. Linux部署springboot项目(从安装java开始)

    Linux部署springboot项目 一 安装jdk 方式一:yum方式下载安装 方式二:官网下载jdk,ftp上传服务器解压安装 二 部署SpingBoot工程 一 新建SpingBoot工程 二 ...

  2. linux部署springBoot项目不间断运行

    第一种:输出日志文件,详细讲解:https://blog.csdn.net/yuhui123999/article/details/80593750 nohup java -jar 自己的spring ...

  3. springboot项目mybatis日志自定义设置无法生效

    springboot项目mybatis日志自定义设置无法生效,就是无法设置日志级别,无法对java.sql.PreparedStatement.java.sql.Connection等进行设置. 翻了 ...

  4. linux 运行springboot 项目 (后台运行,并且打印实时日志)

    首先 利用 maven 将springboot 项目 打成 jar包 maven 打包插件: <build><plugins><plugin><groupId ...

  5. 【问题解决】Springboot项目启动日志不显示端口号,而且日志也很少!

    问题描述: 创建了一个Springboot项目,配置文件中的端口号是10099,部署到linux服务器上后运行正常,但是当我想重新发布代码的时候,使用命令:lsof -i:10099,查询不到端口占用 ...

  6. (阿里云)Linux部署springboot项目全过程

    Linux-jdk1.8下载地址 点击下载 jdk1.8-linux 提取码:h40h 一.安装jdk 1.1.将安装包上传至Linux服务器 1.2.创建安装文件夹 创建install mkdir ...

  7. linux部署springboot项目

    部署springBoot项目 前言 linux创建用户和密码,在该用户下安装jdk.tomcat.部署springboot项目 一.操作步骤 1.创建用户.设置密码 adduser admin lin ...

  8. tomcat部署springboot项目console日志输出中文乱码问题

    tomcat启动springboot项目输出的日志有两个层次.一是tomcat自身的输出,一个是springboot项目的输出. tomcat输出乱码 tomcat的conf/logging.prop ...

  9. war项目连接linux数据库,springboot项目war包部署到Linux

    1.修改springboot启动类 2.移除springboot嵌入式tomcat 3.以上两步就可以了,如果还不行,就看tomcat日志catalina.log是否报错 1)jmx.mbean.dr ...

最新文章

  1. exit()函数详解与Exit() 和 Return() 的区别
  2. 【OpenCV 例程200篇】85. 频率域高通滤波器的应用
  3. PHP获取客户端ip的五种方式
  4. 【进阶篇】Vue Devtools——vue开发调试神器
  5. matlab中size(A 2),MATLAB中size(A,2)什么意思
  6. 多线程编程之Apue3rd_Chapter11之互斥锁_读写锁_自旋锁
  7. STC单片机 命名规则,最小系统 图示
  8. Java为何能一次编写,到处运行
  9. 在云上搭建大规模实时数据流处理系统
  10. 制作数据库导出模板,导出数据库设计说明书
  11. Spring动态代理实现
  12. 手机上计算机怎么设置,电脑如何设置wifi让手机上网
  13. [视频发布] 掘金 Podcast 报名中,摩拜单车、美团点评团队分享 Vue 最佳实践
  14. C语言商品订购系统(跟购物系统有些差别)
  15. FSK过零检测技术软件实现
  16. “云脉文档管理”微信小程序提供高效的办公体验
  17. 用ps制作动态的地球旋转图片
  18. linux命令jvs,Linux程序员Jvs称Windows毁灭之神几乎没法做到
  19. Java中有哪些锁,区别是什么
  20. to_date函数在hive、presto、spark中的区别

热门文章

  1. linux取消挂载并将分区释放,linux硬盘分区:分区,格式化,挂载,取消挂载,删除分区...
  2. linux查看文件的有效权限,linux文件权限查看及修改-chmod ------入门的一些常识
  3. Linux TCP拥塞控制的undo图解
  4. 什么是CIO什么是CTO
  5. Genymotion破解
  6. ASP.NET网站与Discuz!NT论坛整合
  7. 【计算机毕业设计】jsp+java ssm社会保险养老系统
  8. CentOS7下部署CloudStack遇到的错误汇总
  9. 【速度收藏】16条有趣的Python一行代码实现
  10. 不知何时能变为三星?