SpringBoot項目在Linux系統實現部署與日誌切割介紹

前言

公司最近負責的項目都基於SpringBoot開發,因此項目打的包是個jar包的格式,運維實施人員需要把jar包發佈到服務器並啟動起來。

實施過程

  1. 使用文件傳輸工具傳輸jar包到服務器中
  2. 使用後臺啟動命令啟動jar包

nohup java -jar projecct.jar >> project.log 2>&1 &

命令解釋:

  • nohup是no hang up縮寫,意為不掛斷的意思
  • java -jar 是java應用的啟動命令
  • > 表示覆蓋原文件內容,>>代表追加內容
  • 在linux中,0.1.2是一個文件描述符,0代表標準輸入,1代表標準輸出,2代表標準錯誤輸出 。2>&1 表示將標準錯誤輸出重定向到標準輸出,此處不是覆蓋的意思,>&是一個整體,不可分開。如果2>1則表示將標準錯誤輸出重定向到“1” 這個文件裡
  • &標識進程為後臺進程

查看日誌

tail -f project.log

終止進程

  • 進程的查詢命令

ps -ef | grep project.jar | grep -v grep | awk '{print $2}'

  • 殺掉進程,一對反引號代表命令執行後的值,``與$()意思相同

kill -9 `ps -ef | grep project.jar | grep -v grep | awk '{print $2}'`

日誌切割

由於運行日誌是持續輸出到 project.log 這個文件,時間久了之後文件就會變得非常大,下面介紹清空日誌及切割日誌的方法

1.清空日誌

cat /dev/null > project.log

2.切割日誌

切割日誌使用split命令,命令一般結合參數-b -d命令例子:

  • 指定行數來切割

split -l 300 log.txt newfile

  • 指定大小來切割

split -b 10m log.txt newfile

  • 切割後的文件再合回來

cat newfile* > orifile

結語

本文介紹了jar包在linux系統的運行與停止,以及查看日誌及切割日誌的一般方法,啟動多個jar包也同理,但是當jar包數量多的時候,編寫腳本可以達到一鍵執行的效果。


SpringBoot項目在Linux系統實現部署與日誌切割介紹


分享到:


相關文章: