SpringBoot 自動化項目部署

一、查看當前服務器下面該項目是否在運行。java

ps aux | grep "0.0.1-SNAPSHOT.jar" | grep -v grep | awk '{print $2}'

該命令理解 「ps aux | grep "0.0.1-SNAPSHOT.jar"」,該部分主要查找已經啓動的服務中包含「0.0.1-SNAPSHOT.jar」。linux

「grep -v grep」的意思排除grep這條記錄,「awk」用來打印該服務的端口。git

➜  ~ ps aux | grep "0.0.1-SNAPSHOT.jar" | grep -v grep
zacky             1436   0.0  4.6 10233240 772904 s000  SN    9:53AM   0:43.92 /usr/bin/java -jar api-service-0.0.1-SNAPSHOT.jar
➜  ~ ps aux | grep "0.0.1-SNAPSHOT.jar"
zacky             1436   0.0  4.6 10233240 772904 s000  SN    9:53AM   0:43.94 /usr/bin/java -jar api-service-0.0.1-SNAPSHOT.jar
zacky             1649   0.0  0.0  4276968    836 s003  S+   10:07AM   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn 0.0.1-SNAPSHOT.jar
➜  ~ ps aux | grep "0.0.1-SNAPSHOT.jar" | grep -v grep
zacky             1436   0.0  4.6 10233240 772904 s000  SN    9:53AM   0:43.94 /usr/bin/java -jar api-service-0.0.1-SNAPSHOT.jar
➜  ~ ps aux | grep "0.0.1-SNAPSHOT.jar" | grep -v grep | awk '{print $2}'
1436

2.進入項目根目錄,執行運行項目命令。spring

nohup java -jar api-service-0.0.1-SNAPSHOT.jar >api-log.log 2>&1 &

nohup:不掛斷地運行命令,退出賬戶以後繼續運行相應的進程。api

>api-log.log:是nohup把command的輸出重定向到當前目錄的指定的「api-log.log」文件中,即輸出內容不打印到屏幕上,而是輸出到「api-log.log」文件中。不指定文件名會在當前目錄建立nohup.out,若是當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。若是沒有文件能建立或打開以用於追加,那麼 Command 參數指定的命令不可調用。springboot

2>&1:2就是標準錯誤,1是標準輸出,該命令至關於把標準錯誤重定向到標準輸出麼。這裏&至關於標準錯誤等效於標準輸出,即把標準錯誤和標準輸出同時輸出到指定的「日誌文件名.log」文件中。服務器

java -jar 本身的springboot項目.jar:執行springboot的項目,若是單單隻執行該命令,linux只會短暫的運行該項目,當退出控制檯後會自動關閉該項目。svn

最後的&:讓改做業在後臺運行。spa

3.tail 命令查看實時日誌並篩選。日誌

➜  target git:(develop) ✗ tail -f api-log.log|grep 689abb9912585a05566f36b3eb941cdb

689abb9912585a05566f36b3eb941cdb:0.9375
689abb9912585a05566f36b3eb941cdb:1.0
相關文章
相關標籤/搜索