1. 程式人生 > >linux shell指令碼 springboot專案釋出的shell指令碼 包括日誌輸出到指定的檔案

linux shell指令碼 springboot專案釋出的shell指令碼 包括日誌輸出到指定的檔案

     專案釋出,寫了個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

這裡上張伺服器的專案釋出的結構圖: