java -jar your-app.jar
这是一般springboot项目的命令行启动,然后是持续的输出一些日志信息,
最后一行会有个Started。。。的信息
java -jar your-app.jar --logging.file=path/name.log
上面是自定义log日志目录,是springboot支持的命令行参数
【原理】判断springboot是否启动成功,用shell循环判断输出日志,有无Started的信息
#!/bin/bash
echo "start script ................"
java -jar /path/your-app.jar >/path/name.log &
today=`date +%Y-%m-%d`
hour=`date +%H`
while [ -f /path/name.log ]
do
echo "find log ........."
result=`grep "$today $hour" /path/name.log | grep "Started"`
if [[ "$result" != "" ]]
then
echo "springboot start ........."
break
else
echo "running ......."
sleep 1s
fi
done
echo "springboot Started..........."
脚本主要是循环判断日志文件
找出符合条件(当日当时,【夸小时可能bug】,主要是考虑如果有以前的日志)的行来表明运行成功
java -jar 后面的 > &表示输出转存到文件后,这条命令后台执行,没有&,下面的输出会看不到