背景:已经可以在jenkins打包部署,但不能显示springboot启动日志,导致springboot启动报错时,并不知道具体原因,还需要登录linux系统去查看原因。

主要步骤:

1. 开启远程服务器日志

 2. 利用sed命令 结束tail命令来防止一直打印日志。

tail -fn 0 --pid=`ps uxh|grep 'sed[[:space:]]\/doc.html'|awk '{print $2}'|sort -nr|head -1` $4/mtc.log |sed /doc.html/q

这里需要替换的是

        $4/mtc.log 这个是需要打印的日志  

        doc.html 这个是要替换的字符串,这里是监听的doc.html的字符串就停止

完整脚本

path=$4/$2
if test $path = '/';then
path=/xxx
fi
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep $path | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
#!kill -9 强制终止
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

mv $4/$1 $4/$2
nohup java -jar  -Xms1024M -Xmx1550M -XX:PermSize=64M -XX:MaxPermSize=128M $4/$2 --spring.profiles.active=$3 > $4/mtc.log 2>&1 &
tail -fn 0 --pid=`ps uxh|grep 'sed[[:space:]]\/doc.html'|awk '{print $2}'|sort -nr|head -1` $4/mtc.log |sed /doc.html/q

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐