linux shell指令碼 springboot專案釋出的shell指令碼 包括日誌輸出到指定的檔案
阿新 • • 發佈:2019-02-04
專案釋出,寫了個shell指令碼來啟動專案,包括專案的啟動,關閉 重啟 包括專案的日誌輸出到指定的檔案 ,不為別的,就為了下次專案釋出的時候,能夠直接把指令碼拷貝過去用就行啦!哈哈!!
把這段shell指令碼複製過去,只要把紅色部分改為你自己專案的東西,就可以直接執行啦 !
然後賦值該指令碼執行許可權就行了:chmod 777 指令碼名
1.啟動 ./blog.sh start 2../blog.sh stop 3../blog.sh restart
#!/bin/sh #工作空間地址 RUN_DIR=/usr/local/blog #專案執行放一些臨時檔案 CACHE_DIR=/usr/local/blog/cache #配置環境變數 $PATH讀取之前的環境變數用:進行連線 PATH=$PATH:$RUN_DIR #註冊環境變數 export PATH #虛擬機器的一些配置 主要是一個address這個不要重複(防止一個伺服器釋出多個專案), JVM_OPTION="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5789" #這個主要是建立專案工作的資料夾(如果不存在就建立) if [ ! -d "$CACHE_DIR" ]; then echo "${CACHE_DIR}資料夾不存在,準備建立!" mkdir -p "$CACHE_DIR" echo "${CACHE_DIR}資料夾建立成功!" fi # 這裡是輸入執行指令 一般都是 ./socket.sh start ./socket.sh stop ./socket.sh restart $1是用來接收輸入的指令 case "$1" in start) echo "Starting bloging..." # 這裡的宣告專案執行的臨時目錄 日誌輸出到指定檔案 &這個是表示以>>守護程序執行 大概就是支援後臺執行的意思 java -jar ${JVM_OPTION} -Djava.io.tmpdir="$CACHE_DIR" $RUN_DIR/blog.jar -d"$RUN_DIR">>$RUN_DIR/log & # 這裡是獲取當前專案執行的PID 並寫入到pid檔案中 為了後面的stop做鋪墊 echo $! > $RUN_DIR/pid ;; stop) echo "Stopping bloging..." #讀取pid檔案的專案程序ID PID=$(cat $RUN_DIR/pid) # 殺死專案的程序 kill -9 $PID ;; restart) echo "Stopping bloging..." PID=$(cat $RUN_DIR/pid) kill -9 $PID sleep 2; echo "Starting bloging..." java -jar ${JVM_OPTION} -Djava.io.tmpdir="$RUN_DIR/cache" $RUN_DIR/blog.jar -d"$RUN_DIR">> $RUN_DIR/log & echo $! > $RUN_DIR/pid ;; *) echo "Usage $0 {start|stop|restart}" ;; esac #正常執行程式並退出程式 exit 0
這裡上張伺服器的專案釋出的結構圖: