Linux nohup 后台启动 jar包 定时按日期分割日志

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

1、准备shell脚本log.sh

# !/bin/sh
log_dir="/www/wwwroot/java/haibao/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 {} \;

 

2、手动执行一下log.sh

可能遇到的问题1:提示权限不够

 解决办法:chmod 777 ./log.sh 

 

可能遇到的问题2:文件格式问题

解决办法:sed -i 's/\r//g' log.sh 

 

3、加入至定时任务中

#输入以下命令,按i执行插入
crontab -e

#设置执行任务,每天凌晨执行
0 0 * * * /www/wwwroot/java/haibao/log.sh

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

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

 

4、使其定时任务生效

执行以下命令:

service crond restart

Unit crond.service could not be found.

这是因为Ubuntu上的服务名称是cron不是crond。所以你的命令应该是:

sudo service cron start

至此,大功告成,每天1个日志文件,当天的日志存于nohup.out中,自动删除14天以前的日志,只保留近15天的日志。

 

补充启动运行项目命令:

nohup java -jar xxxxx.jar >/www/wwwroot/java/haibao/log/nohup.out &

本站为非盈利性站点,所有资源、文章等仅供学习参考,并不贩卖软件且不存在任何商业目的及用途,如果您访问和下载某文件,表示您同意只将此文件用于参考、学习而非其他用途。
本站所发布的一切软件资源、文章内容、页面内容可能整理来自于互联网,在此郑重声明本站仅限用于学习和研究目的;并告知用户不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
如果本站相关内容有侵犯到您的合法权益,请仔细阅读本站公布的投诉指引页相关内容联系我,依法依规进行处理!
作者:理想
链接:https://www.imyjs.cn/archives/1262
THE END
二维码
Linux nohup 后台启动 jar包 定时按日期分割日志
在SpringBoot应用开发中,常用jar包方式进行部署,……
<<上一篇
下一篇>>
文章目录
关闭
目 录