linux(centos7)下springboot項目jar包使用shell腳本運行


一般情況下springboot項目部署到linux下面需要經過一下幾個步驟:

1.查看項目是否在運行狀態(常用命令[其中一個]):

1 ps -ef | grep xxx.jar

2.如果項目在運行狀態,需要先將現在運行的項目pid殺掉(常用命令[其中之一]):

1 kill -9 xxx

3.然后再檢查一下項目運行狀態,確認舊項目pid已經被kill掉。

4.將更新的項目jar包放到指定位置,然后使用nohup后台啟動boot項目(常用簡單啟動命令[其中之一]):

1 nohup java -jar xxx.jar> log.log &

5.然后查看指定日志:

1 tail -f log.log

如果開發項目需要頻繁的去更新,每次都需要這些操作,就會很麻煩,於是 查閱百度資料 寫一個shell腳本去直接執行這些操作:

1.在項目jar包統計目錄下使用 vim 命令新建一個 restart.sh 腳本:

1 vim restart.sh

2.按 i 鍵進入編輯模式:寫入以下內容:

 1 #!/bin/sh
 2 #項目jar包名稱
 3 APP_NAME=xxx-0.0.1-SNAPSHOT.jar
 4 #重啟命令
 5 pid=`ps -ef | grep $APP_NAME | grep -v grep |awk '{print $2}'`
 6 if [ $pid ]; then
 7     echo :App  is  running pid=$pid
 8     kill -9 $pid
 9 fi
10 nohup java -Xms128m -Xmx256m -jar $APP_NAME> log.log 2>&1 &
11 tail -f log.log

然后 :wq 保存退出.

注釋(sh腳本解釋):

1.第3行:命名上傳至linux服務器的jar包名稱;

2.第5行:查詢項目jar包pid,將運行目標的線程pid賦值給pid變量;

3.第6,7,8行:判斷pid是否運行,如果在運行狀態,就kill掉;

4.第10行:啟動項目jar包;

5.第11行:打開項目啟動日志文件;

完成。

然后在項目jar包部署到服務器上,運行restart.sh就可以運行項目了:

1 sh restart.sh

還有一種根據端口號進行重啟項目,供參考:

 1 #!/bin/bash
 2 #定義項目jar端口號
 3 JAR_PORT=8080
 4 #定義項目名稱
 5 APP_NAME=xxxx.jar
 6 #重啟命令
 7 #根據端口號查詢進程pid進行重啟
 8 pid=$(netstat -nlp | grep $JAR_PORT | awk '{print $7}' | awk -F"/" '{ print $1}');
 9 
10 #如果端口被占用則殺死pid進程
11 if [ $pid ]; then
12     echo :App is running pid=$pid
13     kill -9 $pid
14 fi
15 nohup java -jar $APP_NAME> run.log 2>&1 &
16 tail -f run.log
View Code

還有一種啟動方法就是個腳本加權限:

1  chmod 744 restart.sh 

這樣就可以使用以下命令啟動了:

1 ./restart.sh

當然  上個命令同樣也是適用的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM