linux shell指令碼 springboot項目發布的shell指令碼 包括日誌輸出到指定的檔案__linux

來源:互聯網
上載者:User

     項目發布,寫了個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

這裡上張伺服器的項目發布的結構圖:



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.