nohup后台启动程序jar包的时候进行定时按时间日期分割日志

在springboot应用开发中,常用jar方式进行部署,用nohup后台启动,这样生成的日志文件会越来越大,导致日志文件打开很慢,不方便后续问题的定位和解决。所以需要对日志进行分割,下面主要介绍按日期分割日志。话不多说,直接开始。

1、准备shell脚本log.sh


# !/bin/sh
log_dir="/hcobj/log"
# 拷贝日志文件到昨天的log中
cp $log_dir/nohup.out $log_dir/nohup`date -d yesterday +%Y%m%d`.log
# 清空nohup.out日志
cat /dev/null > $log_dir/nohup.out
# 删除14天以前的日志
find $log_dir -mtime +14 -name 'nohup*.log' -exec rm -rf {} \;
————————————————
版权声明:本文为CSDN博主「旅、途」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42859736/article/details/125253843

附件,只是补充

# 运行如果权限不够则运行命令:chmod 777 ./run.sh
# !/bin/sh
url="/www/beissie-cloud/java-jar-prod/beissie-modules-sale"

#启动jar包程序
nohup java -Dfile.encoding=utf-8 -jar $url/beissie-modules-sale.jar 
#nohup java -jar -Xms900m -Xmx900m -XX:PermSize=900M -XX:MaxPermSize=900M $beissie_dev/beissie-modules-sale.jar 

#将原先的日志复制下来到昨天的log
cp $url/nohup.out $url/logs/nohup`date -d yesterday +%Y%m%d`.log

# 清空nohup.out日志
cat /dev/null > $url/nohup.out

2、手动执行一下log.sh
可能遇到的问题1:提示权限不够
在这里插入图片描述
解决办法:chmod 777 ./log.sh
在这里插入图片描述
可能遇到的问题2:文件格式问题
在这里插入图片描述
解决办法:sed -i ‘s/\r//g’ log.sh
在这里插入图片描述
3、加入至定时任务中
#输入以下命令,按i执行插入
crontab -e

#设置执行任务,每天凌晨执行
0 0 * * * /hcobj/log.sh

#按Esc键后再输入:wq,回车保存
:wq 回车

#查看是否创建成功
crontab -l

具体操作如图:
在这里插入图片描述
在这里插入图片描述
4、使其定时任务生效
执行以下命令:

service crond restart

在这里插入图片描述
每天1个日志文件,当天的日志存于nohup.out中,自动删除14天以前的日志,只保留近15天的日志。如果保留时间过长,自己可以修改,按照自己实际业务来设置

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cookie-wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值