国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)]

這篇具有很好參考價(jià)值的文章主要介紹了[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)]。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言:

個(gè)人博客:www.wdcdbd.com

? 我們在linux部署.jar項(xiàng)目時(shí),都需要通過java -jar的形式來部署,每次都要手動停止,部署,這樣用起來會很麻煩。所以,這篇文章就是自己通過.sh腳本一鍵啟動停止,重啟,查看狀態(tài),查看日志。這樣會方便一些。

一、編寫.sh腳本前準(zhǔn)備工作

  1. ?將你的java項(xiàng)目放到你linux習(xí)慣的位置
  2. 創(chuàng)建一個(gè).sh文件,名字自定義。

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

我就給他命名為Three.sh了,具體你可以自定義

注意??!在編寫.sh腳本文件時(shí),不可以在windows環(huán)境下寫好之后再放到linux環(huán)境中,因?yàn)閮商紫到y(tǒng)使用的格式是不一樣的。Windows下?lián)Q行符號是“\r\n”,而linux下是“\n”沒有”\r”,當(dāng)shell腳本是在Windows下編寫的時(shí)候,默認(rèn)所有的換行符都是“\r\n”,linux下是沒辦法正確識別這個(gè)文件的。如果你已經(jīng)這樣做了,那么就要在linux下執(zhí)行以下命令來去除掉/r
?

sed -i 's/\r$//'? sh文件名.sh

二、編寫.sh腳本文件

?這是完整腳本代碼。為了讓大家更直觀的看到腳本文件中的所有命令,下邊我就將啟動,停止,重啟,查看狀態(tài),查看日志,這幾個(gè)命令拆開來講解如果已經(jīng)對其有一些了解的話,可以直接使用這個(gè)完整的腳本代碼,進(jìn)行修改即可。

#!/bin/bash


# jar包路徑-你放置jar包的路徑,可自定義
HOME='/home/dblog'

# 啟動
start(){
cd $HOME
# 將java程序后臺啟動,并將啟動日志指向springBootThree-1.0.log中
nohup java -jar springBootThree-1.0.jar > springBootThree-1.0.log 2>&1 & 
# 打印字符串
echo "啟動成功"
}

# 停止
stop(){
 # 查詢到項(xiàng)目的pid
 tpid=$(ps -ef | grep springBootThree-1.0.jar | grep -v grep | awk '{print $2}')
 # 判斷是否為空 
if [ -z "$tpid" ]
 then
# 如果為空 則打印這句話
  echo Application is already stpped
 else
# 如果不為空則執(zhí)行
  echo kill $tpid 
# 關(guān)閉進(jìn)程
  kill -9 $tpid

  echo "程序已關(guān)閉"
fi
}

# 查看狀態(tài)
status(){
 # 獲取pid的
 pid=$(ps -ef | grep springBootThree-1.0.jar | grep -v grep)

 if [ -z "$pid" ]
then
 echo "程序不存在"
else
 echo $pid
fi
}

# 查看日志信息
log(){
tail -f $HOME/springBootThree-1.0.log
}

case $1 in
 start)
  start
;;
stop)
  stop
;;
status)
  status
;;
log)
  log
;;
restart)
 $0 stop
 sleep 5
 $0 start
;;
*)
 echo "只能是{start|stop|log|restart}"
;;
esac
exit 0

0、.sh腳本格式

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

第一行必須是這個(gè),沒有什么為什么格式就是這樣

1、啟動

#!/bin/bash


# jar包路徑-你放置jar包的路徑,可自定義
HOME='/home/dblog'

# 啟動
start(){
cd $HOME
# 將java程序后臺啟動,并將啟動日志指向springBootThree-1.0.log中
nohup java -jar springBootThree-1.0.jar > springBootThree-1.0.log 2>&1 &
# 打印字符串
echo "啟動成功"
}

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

2、停止

注意?。。ㄐ】樱?/strong> .sh腳本語法是強(qiáng)語法結(jié)構(gòu),所以格式很重要,使用if判斷時(shí),中間的條件左右必須有空格

# 停止
stop(){
 # 查詢到項(xiàng)目的pid
 tpid=$(ps -ef | grep springBootThree-1.0.jar | grep -v grep | awk '{print $2}')
 # 判斷是否為空 
if [ -z "$tpid" ]
 then
# 如果為空 則打印這句話
  echo Application is already stpped
 else
# 如果不為空則執(zhí)行
  echo kill $tpid 
# 關(guān)閉進(jìn)程
  kill -9 $tpid

  echo "程序已關(guān)閉"
fi
}

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

3、查看狀態(tài)

# 查看狀態(tài)
status(){
 # 獲取pid的
 pid=$(ps -ef | grep springBootThree-1.0.jar | grep -v grep)

 if [ -z "$pid" ]
then
 echo "程序不存在"
else
 echo $pid
fi
}

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

4、查看日志

log(){
tail -f $HOME/springBootThree-1.0.log
}

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

?5、case語法

最后使用case語法 將其聯(lián)系起來即可

# 判斷外部輸入的是什么關(guān)鍵詞 (start|stop|status|log|restart)
case $1 in
 start)
  start
;;
stop)
  stop
;;
status)
  status
;;
log)
  log
;;
restart)
 $0 stop
 sleep 5
 $0 start
;;
*)
 echo "只能是{start|stop|log|restart}"
;;
esac
exit 0

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

6、?最后

保存當(dāng)前.sh文件,然后使用 chmod 777?文件名 變?yōu)榭蓤?zhí)行文件。

其實(shí)使用 chmod +x 文件名 給一個(gè)執(zhí)行權(quán)限就可以了,但是我閑麻煩,所以就直接設(shè)置最大權(quán)限啦。

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

?三、執(zhí)行.sh腳本

查看狀態(tài): ./Three.sh status

啟動項(xiàng)目:./Three.sh start

查看日志: ./Three.sh log

關(guān)閉項(xiàng)目: ./Three.sh stop

重啟項(xiàng)目: ./Three.sh restart

[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)],Linux,linux,運(yùn)維,服務(wù)器

這就是.sh腳本自動部署腳本的基本使用方式了,快去掌握吧。文章來源地址http://www.zghlxwxcb.cn/news/detail-806025.html

到了這里,關(guān)于[含完整代碼]Linux使用.sh腳本自動部署(啟動|停止|狀態(tài)|日志)項(xiàng)目[超詳細(xì)]的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • linux下Jenkins的安裝、部署、啟動(完整教程)

    linux下Jenkins的安裝、部署、啟動(完整教程)

    Linux系統(tǒng)Centos 7 1、安裝jdk8 2、安裝jenkins 首先依次如下三個(gè)命令: 2.1 導(dǎo)入鏡像 出現(xiàn)以下問題 我們的解決方法是安裝一個(gè) ca-certificates 包 2.2 導(dǎo)入公鑰 2.3 安裝jenkins 2.4 修改配置文件 2.5 啟動jenkins Job for jenkins.service failed because the control process exited with error code. See “systemctl stat

    2024年01月19日
    瀏覽(22)
  • RK android 9.0 添加sh腳本開機(jī)自動運(yùn)行

    diff --git a/device.mk b/device.mk old mode 100644 new mode 100755 index 4c698b7..c635798 --- a/device.mk +++ b/device.mk @@ -126,6 +126,8 @@ PRODUCT_COPY_FILES += ? ? ?$(call add-to-product-copy-files-if-exists,device/rockchip/common/init.$(TARGET_BOARD_HARDWARE).bootmode.nvme.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(TARGET_BOARD_HARDWARE).bootm

    2024年02月08日
    瀏覽(20)
  • Linux開機(jī)自啟.sh腳本(簡單粗暴)

    Linux開機(jī)自啟.sh腳本(簡單粗暴)

    1、創(chuàng)建腳本 (1)#切換到你將要存腳本的目錄 (2)編寫腳本autorun.sh 以下為腳本內(nèi)容: (該執(zhí)行腳本的意思是在/home目錄下創(chuàng)建一個(gè)input.txt文件夾,并寫入當(dāng)前日期和hostname) ?2、將該腳本添加到啟動文件中 執(zhí)行以下命令: 在最后一行添加你寫的腳本(從根目錄開始寫)

    2024年02月12日
    瀏覽(22)
  • 在linux上啟動、重啟、查詢、停止java服務(wù)腳本,并且設(shè)置定時(shí)任務(wù)自動執(zhí)行

    以下代碼來源于另一位博主,在實(shí)踐過程中需要設(shè)置定時(shí)任務(wù),所以遇到一些問題,把沒有寫清楚的地方優(yōu)化了一下。 我們把上面的腳本復(fù)制到以下目錄的腳本文件/data/www/shtools/startmanage.sh,執(zhí)行命令可以得到不同的結(jié)果。 設(shè)置的三個(gè)定時(shí)任務(wù)運(yùn)行腳本, 第一個(gè)是0 3 * * *

    2024年02月07日
    瀏覽(34)
  • linux中編寫.sh腳本并賦權(quán)限問題

    以項(xiàng)目啟動、重啟、終止腳本為例: 步驟: 首先 vi start.sh 、 vi restart.sh 、 vi stop.sh 或者使用 vim 編輯器; 編輯內(nèi)容: 啟動: vi start.sh 重啟: vi restart.sh 關(guān)閉: vi stop.sh 保存并退出; chmod +x start.sh restart.sh stop.sh 賦予可執(zhí)行權(quán)限; 輸入 ./start.sh 、 ./restart.sh 、 ./stop.sh 執(zhí)行腳

    2024年02月04日
    瀏覽(18)
  • Linux執(zhí)行sh腳本文件提示Permission denied

    在Linux終端運(yùn)行腳本文件時(shí),提示Permission denied,意思是權(quán)限不足。 解決方法:檢查文件權(quán)限,權(quán)限不足時(shí),賦予執(zhí)行權(quán)限 使用chmod更改文件權(quán)限: ???? -R:是級聯(lián)應(yīng)用到目錄里的所有子目錄和文件 ???? 777:是所有用戶都擁有最高權(quán)限

    2024年02月16日
    瀏覽(27)
  • Linux終端執(zhí)行.sh腳本,提示權(quán)限不夠的解決辦法

    錯(cuò)誤提示如下: [root]# ./run_train_p bash: ./run_train_p: 權(quán)限不夠 解決方法 [root]#?chmod?777 ./run_train_p [root]# ./run_train_p

    2024年02月14日
    瀏覽(23)
  • 遠(yuǎn)程Linux/ubuntu服務(wù)器后臺不間斷運(yùn)行py文件/sh腳本

    通常我們在生產(chǎn)環(huán)境中運(yùn)行一些項(xiàng)目時(shí)需要將程序不間斷的運(yùn)行在服務(wù)器上,并且將日志文件打印到某個(gè)文件中,直到程序運(yùn)行結(jié)束,下面介紹了在Linux服務(wù)器上不間斷運(yùn)行py文件的方式,以及如何保存相應(yīng)的日志信息。 對于 .py 文件,在對應(yīng)路徑下運(yùn)行遠(yuǎn)程終端命令行指令:

    2024年02月10日
    瀏覽(19)
  • 使用java執(zhí)行bat、sh腳本文件

    在工作中,由于需求,需要完成讓java去調(diào)用.bat文件和.sh文件的操作,接下來開始編碼 此處用到了糊涂工具類 maven如下 由此代碼來執(zhí)行bat或sh腳本文件(PS:糊涂工具包用不用無所謂,只是用來判斷是否為windows系統(tǒng)的)

    2024年02月12日
    瀏覽(26)
  • shell_73.Linux使用新 shell 啟動腳本

    每次啟動新 shell,bash shell 都會運(yùn)行.bashrc 文件。①對此進(jìn)行驗(yàn)證,可以使用這種方法:在 主目錄下的.bashrc 文件中加入一條簡單的 echo 語句,然后啟動一個(gè)新 shell。 .bashrc 文件通常也借由某個(gè) bash 啟動文件來運(yùn)行,因?yàn)?bashrc 文件會運(yùn)行兩次:一次是當(dāng) 用戶登錄 bash shell 時(shí),

    2024年02月05日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包