前言
公司最近負責的項目都基於SpringBoot開發,因此項目打的包是個jar包的格式,運維實施人員需要把jar包發佈到服務器並啟動起來。
實施過程
- 使用文件傳輸工具傳輸jar包到服務器中
- 使用後臺啟動命令啟動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包數量多的時候,編寫腳本可以達到一鍵執行的效果。
閱讀更多 元元說運維 的文章