1. 程式人生 > >shell 啟動執行springboot專案 判斷專案是否成功啟動執行

shell 啟動執行springboot專案 判斷專案是否成功啟動執行

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 後面的 > &表示輸出轉存到檔案後,這條命令後臺執行,沒有&,下面的輸出會看不到