黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術文章
文章詳情頁

shell腳本如何啟動springboot項目

瀏覽:104日期:2023-09-23 20:55:12
目錄shell腳本啟動springboot項目Spring Boot項目啟動springboot項目linux簡單的啟動、停止、更新腳本sh1.啟動腳本2.停止腳本3.版本升級腳本4、回滾腳本5.遠程發布腳本(前提配置免密登錄)總結shell腳本啟動springboot項目Spring Boot項目啟動

我們知道打包好的Spring Boot項目這樣啟動

java -jar -Dfile.encoding=utf-8 test-0.0.1-SNAPSHOT.jar

在linux中,常常使用nohup后臺啟動其他程序,Spring Boot項目使用nohup啟動如下

nohup java -jar -Dfile.encoding=utf-8 test-0.0.1-SNAPSHOT.jar &

如果使用上面命令啟動,注意這時候遠程terminal要主動exit退出,不這樣做系統可能會殺掉上面啟動的進程

由于開發需要,需要頻繁地更新項目,寫了兩個shell腳本啟動和關閉項目

啟動項目腳本 start.sh#!/bin/bashcd project # ccd2002-0.0.1-SNAPSHOT.jar所在目錄nohup java -Xms128m -Xmx256m -jar -Dfile.encoding=utf-8 ccd2002-0.0.1-SNAPSHOT.jar &關閉項目腳本#!/bin/bashsudo kill $(ps -aux | grep 'ccd2002' | awk 'NR==2{print $2}')

上面腳本使用ps命令查到ccd2002項目的信息,然后使用awk過濾信息獲取項目pid,最后使用kill殺掉項目。

為了方便大家理解,下面分解

sudo kill $(ps -aux | grep 'ccd2002' | awk 'NR==2{print $2}')ps -aux | grep 'ccd2002'

命令執行結果截圖如下

ps -aux | grep 'test' | awk 'NR==2{print $2}'

命令取出上圖中指出的pid

awk命令對ps結果進行處理,awk 'NR==2{print $2}'中的NR=2表示ps結果的第二行,$2表示行中的第二個元素

springboot項目linux簡單的啟動、停止、更新腳本sh1.啟動腳本#!/bin/bash#獲取路徑basepath=$(cd $(dirname $0); pwd)echo ?'xxxxxx ?啟動開始.............'nohup java -jar ?$basepath/xxxxxx.jar ?--spring.profiles.active=prd >/dev/null 2>&1&echo ?'xxxxxx ?啟動成功.............'2.停止腳本#!/bin/bashecho 'xxxxxx ? ?停止開始.......'ID=`ps -ef | grep 'xxxxxx.jar' | grep -v 'grep' | awk '{print $2}'`echo $IDfor id in $IDdokill -9 $idecho 'killed $id'donesleep 5secho 'xxxxxx ? ?停止成功.......'3.版本升級腳本#!/bin/bashbasepath=$(cd $(dirname $0); pwd)echo '############################執行update.sh開始###########################'echo '基礎路徑:$basepath'echo '遠程傳遞參數為:' ${1}if [ -z ${1} ];then?echo '工程名稱參數傳遞為空,更新失敗'elseif [ -f '$basepath/../../deploy/${1}.jar' ];then? ? ? ? echo '開始備份工程包'? ? ? ? cp $basepath/${1}.jar ?$basepath/../appBak/${1}.jar_$(date '+%Y-%m-%d-%H:%M:%S')? ? ? ? echo '工程包備份成功'? ? ? ? #停止應用 ? ?? ? ? ? sh $basepath/stop.sh? ? ? ? #開始刪除老的工程包? ? ? ? if [ -f '$basepath/${1}.jar' ];then? ? ? ? rm $basepath/${1}.jar? ? ? ? fi? ? ? ? echo '開始更新工程包'? ? ?mv $basepath/../../deploy/${1}.jar $basepath/${1}.jar? ? ? ?if [ $? -eq 0 ];then? ? ? ? #啟動應用? ? ? ? sh $basepath/start.sh? ? ? ? else? ? ? ? ? echo '工程包移動失敗'? ? ? ? fielse?echo '升級包不存在'fifiecho '############################執行update.sh結束###########################'4、回滾腳本#!/bin/bashbasepath=$(cd $(dirname $0); pwd)echo '基礎路徑:$basepath'packageName=$(cd ${basepath}'/../appBak'; ls -lrlt |grep $(date '+%Y-%m-%d') |head -n 1 |awk '{print $9}' )echo '獲取回滾包名稱為:'$packageNameif [ -z $packageName ];then? ?echo '回滾 '$1' 包不存在,回滾失敗'elseecho '遠程傳遞參數為:'${1}if [ -z ${1} ];thenecho '工程名稱參數為空,回滾失敗'else#將備份包還原在啟動cp $basepath/../appBak/$packageName $basepath/../../deploy/${1}.jarif [ -f '$basepath/../../deploy/'${1}'.jar' ];then? ? ? ? #停止應用 ? ?? ? ? ? sh $basepath/stop.sh? ? ? ? if [ -f '$basepath/'${1}'.jar' ];then? ? ? ? #開始刪除老的工程包? ? ? ? rm $basepath/${1}.jar? ? ? ? fi? ? ? ? mv $basepath/../../deploy/${1}.jar $basepath/${1}.jar? ? ? ? if [ $? -eq 0 ];then? ? ? ? ?echo '回滾還原包成功'? ? ? ? #啟動應用? ? ? ? sh $basepath/start.sh? ? ? ? else? ? ? ? ? echo ?'工程包還原失敗'? ? ? ? fielse?echo '還原包不存在'fififi5.遠程發布腳本(前提配置免密登錄)#!/bin/bashecho '******************************遠程發布腳本***********************************************************'echo ' 'echo '********腳本參數 工程名稱:支持 ddp-server、ddp-server-idxs、ddp-server-mdxs、ddp-server-ext、********'echo '********ddp-server-task、dmsp-gateway 腳本類型:支持 update(更新腳本)/rollbak(回滾腳本)***************'echo '*******將上述工程名對應的jar包放在 /opt/apps/deploy目錄下********************************************'echo '********在config.properties配置文件中,配置工程對應的服務器IP多臺機器則以逗號(,)分隔。***************'echo '********如 ddp-server=192.168.1.2,192.178.3.4 的形式配置工程對應的機器*******************************'echo '*************執行腳本的方式如 sh deploy.sh ddp-server update 升級**********************************'echo '*************執行腳本的方式如 sh deploy.sh ddp-server rollbak 回滾**********************************'echo ' 'echo '******************************遠程發布腳本***********************************************************'echo ' 'echo '##############################開始校檢參數############################################################'if [ -z $1 ]||[ -z $2 ];thenecho ' 'echo '參數不能為空,如: sh deploy.sh ddp-server update'echo ''echo '##############################參數校檢失敗############################################################'elseecho ' 'echo '##############################參數校檢成功############################################################'echo ' 'echo '#############################開始校檢配置文件#########################################################'echo ' 'path='/opt/apps/deploy'echo '遠程發布包的路徑為:' $pathshellpath=''if [ $1 == 'ddp-server' ];then shellpath='/opt/apps/ddp/app'elif [ $1 == 'ddp-server-idxs' ];then shellpath='/opt/apps/ddp-idxs/app'elif [ $1 == 'ddp-server-mdxs' ]; then shellpath='/opt/apps/ddp-mdxs/app'elif [ $1 == 'ddp-server-ext' ]; then shellpath='/opt/apps/ddp-ext/app'elif [ $1 == 'ddp-server-task' ];then shellpath='/opt/apps/ddp-task/app'elif [ $1 == 'dmsp-gateway' ];then shellpath='/opt/apps/dmsp-gateway/app'fi echo '遠程腳本路徑為:'$shellpath#工程模塊名稱modle=$(cat config.properties |grep $1'=' |awk -F '=' '{print $1}')echo '工程名稱為:'$modleips=$(cat config.properties |grep $1'='|awk -F '=' '{print $2}')echo 目標ip為:$ipsecho ' 'if [ -z $modle ];thenecho '###########工程在配置文件(config.properties)中不存在,腳本執行終止#####################################'elif [ -z $ips ]; thenecho '#############工程對應的目標機器ip在配置文件(config.properties)中不存在,腳本執行終止##################'elif [ -z $shellpath ];thenecho '############################'$1'不支持遠程操作,腳本執行終止##########################################'elif [ $2 != 'update' ] && [ $2 != 'rollbak' ];thenecho '############################遠程操作僅支持 update 或 rollbak,腳本執行終止############################'elseecho '###################配置文件校檢通過,開始更新或回滾操作###############################################'OLD_IFS='$IFS'IFS=','#如下會自動分隔arr=($ips)#恢復原來的分隔符IFS='$OLD_IFS'#遍歷數組for ip in ${arr[@]}do if [ $2 == 'update' ];then echo ' ' echo '=====================================================================================================' echo '++++++++++++++++++++++++++++++++++++'${ip}'開始執行更新操作++++++++++++++++++++++++++++++++' echo ' ' echo '開始遠程拷貝文件' ${modle}'.jar 到機器ip為: '${ip} ${path}'的目錄下' scp -o ConnectTimeout=10 ${path}/${modle}.jar phfund@${ip}:${path} if [ $? -ne 0 ];then echo '遠程拷貝'${modle}'.jar 到 ' ${ip} ' 失敗,本次更新失敗' echo ' ' echo '======================================================================================================' else echo '遠程拷貝' ${modle}'.jar到' $ip '成功' ssh -o ConnectTimeout=10 ${ip} ' sh ' $shellpath'/'$2'.sh ' $1 if [ $? -eq 0 ];then echo ' ' echo '+++++++++++++++++++++++++++++++++++++++++++++'${ip}'更新成功+++++++++++++++++++++++++++' echo '=================================================================================================' else echo ' ' echo '+++++++++++++++++++++++++++++++++++++++++++++'${ip}'更新失敗++++++++++++++++++++++++++' echo '================================================================================================' fi fielif [ $2=='rollbak' ];then echo ' ' echo '==================================================================================================='echo '+++++++++++++++++++++++++++++++++++++++++++++++++++'${ip}'開始執行回滾操作++++++++++++++' echo ' ' ssh -o ConnectTimeout=10 ${ip} ' sh '${shellpath}'/'$2'.sh ' $1 if [ $? -ne 0 ];thenecho ' 'echo '+++++++++++++++++++++++++++++++++++++++++++++++'${ip}'回滾操作失敗++++++++++++++++++++' echo '===============================================================================================' elseecho ' 'echo '+++++++++++++++++++++++++++++++++++++++++++++'${ip}'回滾操作成功++++++++++++++++++++++' echo '==============================================================================================='fifidonefifi#+++++++++++++++++腳本說明++++++++++++++++++++++++++++++echo '******************************遠程發布腳本說明***********************************************************************'echo ' 'echo '******************************腳本參數*******************************************************************************'echo '**參數1 工程名稱:支持 ddp-server、ddp-server-idxs、ddp-server-mdxs、ddp-server-extddp-server-task、dmsp-gateway ...**'echo '**參數2 配置屬性中對應工程的標識:支持 1,2,3...,當為 all 的時候取全部[1,2,3...]所對應的屬性**************************'echo '**參數3 執行的的腳本:支持 update(版本升級),rollbak(版本回滾),log(查看版本日志),start(啟動),stop(停止),restart(重啟)**'echo '******************************腳本參數*******************************************************************************'echo ' 'echo '******************************升級版本的工程包放在 /opt/apps/deploy目錄下********************************************'echo '******************************在/opt/apps/ssh/config.properties配置文件中配置屬性************************************'echo '******************************工程ip如: ddp-server.1=ip**************************************************************'echo '******************************工程日志路徑如: ddp-server.logPath=/opt/apps/ddp/log/**********************************'echo '******************************工程執行腳本路徑如: ddp-server.shellPath=/opt/apps/ddp/app/****************************'echo ' 'echo '*******************************執行方式(deploy.sh 參數1 參數2 參數3)*************************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server all update 升級所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server all rollbak 回滾所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server all stop 停止所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server all start 啟動所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server all restart 重啟所有的工程***************************************'echo ' 'echo '*************日志查看不支持all,只能夠單獨選擇某一臺日志查看**********************************************************'echo '**************執行腳本的方式如 deploy.sh ddp-server 1 log 查看某臺機器的工程日志*************************************'echo ' 'echo '******************************遠程發布腳本說明***********************************************************************'echo ' '#+++++++++++++++++腳本說明++++++++++++++++++++++++++++++#+++++++++++++++++參數定義部分++++++++++++++++++++++++++#參數一表示 工程名稱param1=$1#參數二表示 配置文件中對應的屬性,規則 1,2,3 分別取對應的參數,當為 all的時候取全部[1,2,3]的屬性param2=$2#參數三表示 執行的的腳本支持update(版本升級),rollbak(版本回滾),log(查看版本日志),start(啟動),stop(停止),restart(重啟)param3=$3#工程包名稱packageName=$param1'.jar'#升級包路徑updatepath='/opt/apps/deploy'#遠程機器用戶userName='phfund'#ip地址IP=''#日志路徑logPath=''#腳本路徑shellPath=''#config.properties配置文件路徑configPath='/opt/apps/ssh'#+++++++++++++++++參數定義部分++++++++++++++++++++++++++#+++++++++++++++++傳遞參數校檢以及配置文件解析校檢部分++++++++++echo '**************************************開始校檢傳入參數*******************************************************************'if [ -z $param1 ]||[ -z $param2 ]||[ -z $param3 ] ;thenecho ' ' echo '參數不能為空如:(deploy.sh 參數1 參數2 參數3) 按照空格分隔'echo ' 'echo '**************************************傳入參數校檢失敗*******************************************************************'exitfiif [ '$param3' != 'update' ]&&[ '$param3' != 'restart' ]&&[ '$param3' != 'stop' ]&&[ '$param3' != 'start' ]&&[ '$param3' != 'rollbak' ]&&[ '$param3' != 'log' ];thenecho ' ' echo '參數3只支持: update,restart,start,stop,rollbak,log'echo ' 'echo '**************************************傳入參數校檢失敗*******************************************************************'exitelse if [ '$param3' == 'log' ]&&[ '$param2' == 'all' ];thenecho ' ' echo '查看系統日志只支持單個操作如:(deploy.sh ddp-server 1 log),參數2不支持all'echo ' 'echo '**************************************傳入參數校檢失敗*******************************************************************' exit fifiecho ' 'echo '**************************************傳入參數校檢成功*******************************************************************'echo ' 'echo '*****************************************開始解析config.properties配置文件***********************************************' echo ' 'if [ '$param2' == 'all' ];then IP=$(cd ${configPath}; cat ./config.properties|grep ${param1}'\.'|grep -v ${param1}'\.logPath'|grep -v ${param1}'\.shellPath'|awk -F '=' '{print $2}')else IP=$(cd ${configPath};cat ./config.properties|grep ${param1}'\.'${param2}|awk -F '=' '{print $2}') fiecho '獲取工程名稱為: '$param1 ' IP地址: '$IP logPath=$(cd ${configPath}; cat ./config.properties|grep ${param1}'\.logPath'|awk -F '=' '{print $2}')echo '獲取工程日志路徑為: '$logPath shellPath=$(cd ${configPath}; cat ./config.properties|grep ${param1}'\.shellPath'|awk -F '=' '{print $2}')echo '獲取工程執行腳本路徑為: '$shellPathecho ' 'echo '**************************************解析config.properties配置文件結束***********************************************'#+++++++++++++++++傳遞參數校檢以及配置文件解析部分++++++++++#+++++++++++++++++解析參數驗證,以及執行調度部分++++++++++++echo ' 'echo '**************************************開始校檢解析參數*****************************************************************'if [ -z $IP ];thenecho ''echo '獲取工程的IP為空,終止程序'echo ' 'echo '**************************************解析參數校檢失敗*****************************************************************'exitfiif [ -z $shellPath ];thenecho ''echo '獲取工程的執行腳本路徑為空,終止程序'echo ' 'echo '**************************************解析參數校檢失敗*****************************************************************'exitfiif [ '$param3' == 'log' ]&&[ -z $logPath ];thenecho ''echo '查看日志,獲取工程的日志路徑為空,終止程序'echo ' 'echo '**************************************解析參數校檢失敗*****************************************************************'exitfiecho ' 'echo '**************************************解析參數校檢成功*****************************************************************'#調度公共方法function remotecall(){ ssh -o ConnectTimeout=10 ${ip} 'sh ' $shellPath'/'$param3'.sh ' $param1 } #查看日志方法function looklog(){ ssh -o ConnectTimeout=10 ${ip} 'sh ' $shellPath'/'$param3'.sh ' $param1 $logPath}#遠程拷貝公共方法function scpcall(){ scp -o ConnectTimeout=10 ${updatepath}/${packageName} ${userName}@${ip}:${updatepath}}for ip in $IPdoif [ $param3 == 'update' ];thenecho ' 'echo '====================================升級(update)操作執行開始==========================================================='echo ' ' scpcall if [ $? -ne 0 ];then echo '遠程拷貝'${packageName}' 到IP為' ${ip} '機器的 '${updatepath}' 目錄下失敗,本次升級失敗' else echo '遠程拷貝'${packageName}' 到IP為' $ip '機器的 '${updatepath}' 目錄下成功,開始執行更新腳本' echo ' ' remotecall echo ' ' if [ $? -ne 0 ];then echo '機器IP為 '$ip '執行更新腳本失敗' else echo '機器IP為 '$ip '執行更新腳本成功' fi fiecho ' 'echo '====================================升級(update)操作執行結束==========================================================='elif [ $param3 == 'start' ];thenecho ' 'echo '====================================啟動(start)操作執行開始============================================================'echo ' 'remotecall if [ $? -ne 0 ];then echo '機器IP為 '$ip '執行啟動腳本失敗' else echo '機器IP為 '$ip '執行啟動腳本成功' fiecho ' 'echo '====================================啟動(start)操作執行結束============================================================'elif [ $param3 == 'rollbak' ];thenecho ' 'echo '===================================回滾(rollbak)操作執行開始============================================================'echo ' 'remotecall if [ $? -ne 0 ];then echo '機器IP為 '$ip '執行回滾腳本失敗' else echo '機器IP為 '$ip '執行回滾腳本成功' fiecho ' 'echo '====================================回滾(rollbak)操作執行結束============================================================'elif [ $param3 == 'stop' ];thenecho ' 'echo '===================================停止(stop)操作執行開始============================================================'echo ' 'remotecall if [ $? -ne 0 ];then echo '機器IP為 '$ip '執行停止腳本失敗' else echo '機器IP為 '$ip '執行停止腳本成功' fiecho ' 'echo '====================================停止(stop)操作執行結束============================================================'elif [ $param3 == 'log' ];thenecho ' 'echo '===================================查看日志(log)操作執行開始============================================================'echo ' ' looklog if [ $? -ne 0 ];then echo '機器IP為 '$ip '執行日志查看腳本失敗' else echo '機器IP為 '$ip '執行日志查看腳本成功' fiecho ' 'echo '====================================查看日志(log)操作執行結束============================================================'elif [ $param3 == 'restart' ];thenecho ' 'echo '======================================重啟(restart)操作執行開始=========================================================='echo ' 'remotecall if [ $? -ne 0 ];then echo '機器IP為 '$ip '執行重啟腳本失敗' else echo '機器IP為 '$ip '執行重啟腳本成功' fiecho ' 'echo '=====================================重啟(restart)操作執行結束============================================================'fidone#+++++++++++++++++解析參數驗證,以及執行調度部分++++++++++++

優化版本入口

#!/bin/bash#+++++++++++++++++腳本說明++++++++++++++++++++++++++++++help=$1if [ '${help^^}' == '-HELP' ];thenecho '******************************遠程發布腳本說明***********************************************************************'echo ' 'echo '******************************腳本參數*******************************************************************************'echo '**參數1 工程名稱:支持 ddp-server、ddp-server-idxs、ddp-server-mdxs、ddp-server-extddp-server-task、dmsp-gateway ...**'echo '**參數2 執行的的腳本:支持 update(版本升級),rollbak(版本回滾),log(查看版本日志),start(啟動),stop(停止),restart(重啟)**'echo '**參數3 配置屬性中對應工程機器的標識:支持 ddp-server1,ddp-server2,ddp-server3...,當為 all 的時候取全部[ddp-server1,*'echo '***************ddp-server2,ddp-server3.]所對應的屬性*****************************************************************'echo '******************************腳本參數*******************************************************************************'echo ' 'echo '******************************升級版本的工程包放在 /opt/apps/deploy目錄下********************************************'echo '******************************在/opt/apps/ssh/config.properties配置文件中配置屬性************************************'echo '******************************工程ip如: ddp-server.1=ip**************************************************************'echo '******************************工程日志路徑如: ddp-server.logPath=/opt/apps/ddp/log/**********************************'echo '******************************工程執行腳本路徑如: ddp-server.shellPath=/opt/apps/ddp/app/****************************'echo ' 'echo '*******************************執行方式(deploy.sh 參數1 參數2 參數3)*************************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server update all 升級所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server rollbak all回滾所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server stop all 停止所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server start all 啟動所有的工程***************************************'echo '*************執行腳本的方式如 deploy.sh ddp-server restart all 重啟所有的工程***************************************'echo ' 'echo '*************日志查看不支持all,只能夠單獨選擇某一臺日志查看**********************************************************'echo '**************執行腳本的方式如 deploy.sh ddp-server log ddp-server1 查看某臺機器的工程日志***************************'echo ' 'echo '*************腳本對應2個參數的語法,只支持以下語法查詢 參數3 支持的個數**********************************************'echo '**************查詢某個工程對應的機器的標識如 deploy.sh 參數1 listserver 查看對應的機器參數個數***********************'echo ' 'echo '******************************遠程發布腳本說明***********************************************************************'echo ' 'exitfi#+++++++++++++++++腳本說明++++++++++++++++++++++++++++++#+++++++++++++++++參數定義部分++++++++++++++++++++++++++#參數一表示 工程名稱param1=$1#參數二表示 配置文件中對應的屬性,規則 1,2,3 分別取對應的參數,當為 all的時候取全部[1,2,3]的屬性param2=$2#參數三表示 執行的的腳本支持update(版本升級),rollbak(版本回滾),log(查看版本日志),start(啟動),stop(停止),restart(重啟)param3=$3#工程包名稱packageName=$param1'.jar'#升級包路徑updatepath='/opt/apps/deploy'#遠程機器用戶userName='phfund'#ip地址IP=''#日志路徑logPath=''#腳本路徑shellPath=''#config.properties配置文件路徑configPath='/opt/apps/ssh'#+++++++++++++++++參數定義部分++++++++++++++++++++++++++#+++++++++++++++++傳遞參數校檢以及配置文件解析校檢部分++++++++++if [ -z $param3 ]&&[ -n $param1 ] && [ -n $param2 ];then if [ '${param2^^}' == 'LISTSERVER' ];then echo '**************************************獲取工程所部署的機器(執行腳本參數3 可選的值)**************************************' list=$(cd ${configPath}; cat ./config.properties|grep '${param1}'[0-9]|awk -F '=' '{print $1}') echo '工程對應機器名稱(參數3)可選值:' $list echo '' echo '**************************************獲取工程所部署的機器(執行腳本參數3 可選的值)**************************************' exit fifiecho '**************************************開始校檢傳入參數*******************************************************************'if [ -z $param1 ]||[ -z $param2 ]||[ -z $param3 ] ;thenecho ' ' echo '參數不能為空如:(deploy.sh 參數1 參數2 參數3) 按照空格分隔'echo ' 'echo '**************************************傳入參數校檢失敗*******************************************************************'exitfiif [ '$param2' != 'update' ]&&[ '$param2' != 'restart' ]&&[ '$param2' != 'stop' ]&&[ '$param2' != 'start' ]&&[ '$param2' != 'rollbak' ]&&[ '$param2' != 'log' ];thenecho ' ' echo '參數2只支持: update,restart,start,stop,rollbak,log'echo ' 'echo '**************************************傳入參數校檢失敗*******************************************************************'exitelse if [ '$param2' == 'log' ]&&[ '$param3' == 'all' ];thenecho ' ' echo '查看系統日志只支持單個操作如:(deploy.sh ddp-server log ddp-server1),參數3不支持all'echo ' 'echo '**************************************傳入參數校檢失敗*******************************************************************' exit fifiecho ' 'echo '**************************************傳入參數校檢成功*******************************************************************'echo ' 'echo '*****************************************開始解析config.properties配置文件***********************************************' echo ' 'if [ '$param3' == 'all' ];then IP=$(cd ${configPath}; cat ./config.properties|grep '${param1}'[0-9]|awk -F '=' '{print $2}')else IP=$(cd ${configPath};cat ./config.properties|grep ${param3}'='|awk -F '=' '{print $2}') fiecho '獲取工程名稱為: '$param1 ' IP地址: '$IP logPath=$(cd ${configPath}; cat ./config.properties|grep ${param1}'\.logPath'|awk -F '=' '{print $2}')echo '獲取工程日志路徑為: '$logPath shellPath=$(cd ${configPath}; cat ./config.properties|grep ${param1}'\.shellPath'|awk -F '=' '{print $2}')echo '獲取工程執行腳本路徑為: '$shellPathecho ' 'echo '**************************************解析config.properties配置文件結束***********************************************'#+++++++++++++++++傳遞參數校檢以及配置文件解析部分++++++++++#+++++++++++++++++解析參數驗證,以及執行調度部分++++++++++++echo ' 'echo '**************************************開始校檢解析參數*****************************************************************'if [ -z '$IP' ];thenecho ''echo '獲取工程的IP為空,終止程序'echo ' 'echo '**************************************解析參數校檢失敗*****************************************************************'exitfiif [ -z $shellPath ];thenecho ''echo '獲取工程的執行腳本路徑為空,終止程序'echo ' 'echo '**************************************解析參數校檢失敗*****************************************************************'exitfiif [ '$param2' == 'log' ]&&[ -z $logPath ];thenecho ''echo '查看日志,獲取工程的日志路徑為空,終止程序'echo ' 'echo '**************************************解析參數校檢失敗*****************************************************************'exitfiecho ' 'echo '**************************************解析參數校檢成功*****************************************************************'#將變量傳遞到子腳本export updatepathexport packageNameexport userNameexport shellPathexport param2export param1export logPathfor ip in $IPdoexport ipif [ $param2 == 'update' ];then#執行更新腳本sh update.shelif [ $param2 == 'start' ];then#執行啟動腳本sh start.shelif [ $param2 == 'rollbak' ];then#執行回滾腳本sh rollbak.shelif [ $param2 == 'stop' ];then#執行停止腳本sh stop.shelif [ $param2 == 'log' ];then#執行日志查看sh log.shelif [ $param2 == 'restart' ];then#執行重啟腳本sh restart.shfidone#+++++++++++++++++解析參數驗證,以及執行調度部分++++++++++++總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Linux
相關文章:
主站蜘蛛池模板: 亚洲人成网站色7799 | 中文字幕乱偷无码av先锋 | av高清在线免费观看 | 欧美人妖一区 | 精品在线免费视频 | 绝色美妇性调教沦为玩物 | 亚洲熟妇自偷自拍另欧美 | 亚洲图片欧美在线 | 天天干夜夜欢 | 翔田千里x88aⅴ | 精品国产69 | 亚洲精品18| 中文字幕第23页在线 | 深夜福利成人 | 久久久www成人免费毛片 | 综合九九 | 国产乱码精品一区二区三区爽爽爽 | 亚洲国产成人一区 | 艳妇乳肉豪妇荡乳xxx | 可以在线观看的av | 日本乱子人伦在线视频 | 精品久久影院 | 亚洲人午夜射精精品日韩 | 日本艹逼视频 | 国产精品视频区 | 国产农村妇女在野外高潮 | 亚洲一区二区视频 | 99草在线视频 | 国产精品沙发午睡系列 | 91亚洲影院| 欧美裸体xxxx极品少妇 | 羞羞国产一区二区三区四区 | 日本高清免费在线视频 | 久久久久国产精品 | 在线观看污 | 国产精品高潮露脸在线观看 | 97色婷婷| 丰满少妇人妻hd高清大乳在线 | 久久乐国产精品亚洲综合 | 哺乳一区二区三区中文视频 | 国产电影无码午夜在线播放 | 女女互慰吃奶互揉的视频 | 乱女伦露脸对白在线播放 | 欧美性做爰毛片 | wwwcom日本| 国产精品国产三级国产普通话三级 | www.黄色毛片 | 奶大交一乱一乱一视一频 | 欧美日韩另类一区二区 | 欧美色综合天天久久综合精品 | 日批动态图| 久操视频在线播放 | 久久综合亚洲色一区二区三区 | 国产一级一片免费播放 | 六月丁香婷婷网 | 在线观看网址你懂的 | 正在播放东北夫妻内射 | 波多野结衣在线视频播放 | 无码h黄肉动漫在线观看网站 | 成人一区二区视频 | 影音先锋啪啪看片资源 | 日本亚洲精品色婷婷在线影院 | 国语自产拍91在线a拍拍 | 逼特逼视频在线观看 | 男女毛片视频 | 欧美一级三级 | 国产人成高清在线视频99最全资源 | 狠狠色综合欧美激情 | 青少年xxxxx性开放hg | 日韩视频精品 | 亚洲色成人中文字幕网站 | 日日碰狠狠躁久久躁蜜桃 | 亚洲日韩av片在线观看 | 欧美精品videos另类日本 | 曰本无码人妻丰满熟妇5g影院 | 午夜三级做爰视频在线看 | 免费视频亚洲 | 一本久久久 | 国产真实伦在线观看视频 | 国产精品av99 | 亚洲春色在线视频 | 国产成人午夜 | 波多野结衣99 | 成人激情开心网 | 亚洲 小说 欧美 激情 另类 | 久久久国产一区二区三区四区 | 中文字幕成人精品久久不卡 | 亚洲天堂2021av | 日本丰满少妇免费一区 | 婷婷毛片| 国产成人欧美 | 国产天堂亚洲国产碰碰 | 少妇一级淫片 | xxxx国产一二三区xxxx | 色噜噜狠狠狠狠色综合久一 | 欧美日产国产精品 | 午夜久久久精品 | 国产精品久久久久久久裸模 | av看片在线| jizz中国少妇高潮出水 | 91成人欧美 | 桃色网址| 99国产精品欧美久久久久的广告 | 正在播放木下凛凛88av | 亚洲乱色 | 国产欧美一区二区三区视频在线观看 | 亚洲欧美在线看 | 日本三级免费网站 | 一级做人爱c黑人影片 | 欧美高清黄 | 日韩精品一线二线三线 | 91久久综合亚洲鲁鲁五月天 | 在线观看国产日韩 | 66m66成人摸人视频 | 中文字幕二区三区 | 天堂亚洲一品 | 91精品视频免费观看 | 日韩欧美国产一区二区在线观看 | 欧美成人777 | 久久爽久久爽久久免费观看 | 东北农村老女人乱淫视频毛片 | 丝袜美腿亚洲一区二区 | 亚洲午夜视频在线 | 日韩欧美手机在线 | 亚洲视频网站在线 | 黄片毛片在线看 | 一性一交一摸一黄按摩精油视频 | 毛片在线视频观看 | 国语对白91| 中文www天堂 | 日本黄色免费网站 | 婷婷精品国产一区二区三区日韩 | 国产最爽的乱淫视频国语对白 | 国产网站免费看 | 天堂国产欧美一区二区三区 | 中文字幕 日韩 欧美 | 亚洲最新在线观看 | 日韩在线精品强乱中文字幕 | 欧洲美熟女乱又伦av影片 | 亚洲国产精品成人综合在线 | 免费放黄网站在线播放 | 天天躁日日躁狠狠躁av麻豆 | 午夜小视频在线观看 | 1769国产精品| 人妻无码中文字幕免费视频蜜桃 | 亚洲精品久久久一区二区图片 | 中文字幕无码乱人伦 | 乌克兰少妇xxxx做受野外 | 色偷偷偷久久伊人大杳蕉 | 国产资源在线免费观看 | 国产夫妻性生活视频 | 色屋永久 | 国产欧美日韩精品专区黑人 | www.日韩系列| 成人3d动漫在线观看 | 国产欧美在线一区二区三区 | 国产日韩在线一区 | 国产毛片久久久久久国产毛片 | 亚洲我不卡 | 亚洲国产精品无码久久久秋霞1 | 亚洲精品肉丝少妇在线 | 久久免费毛片 | 国产香蕉精品视频 | 亚洲 日韩 激情 无码 中出 | 亚洲精品国产精品国自产观看 | 免费的黄色av | 中文字字幕| 又大又硬又黄的免费视频 | 国产欧美日韩精品一区 | 99精品国产免费久久 | 日一日干一干 | 日韩久久高清 | 一个人看的www视频在线播放 | 国产麻豆免费视频 | 桃色视频m3u8| 免费一级男女裸片 | 美女裸体无遮挡免费视频网站 | 人人妻人人爽人人做夜欢视频 | 日产欧美一区二区三区不上 | 免费超碰在线 | 五月婷婷免费视频 | 欧美日本韩国一区二区三区 | 又黄又爽又刺激久久久久亚洲精品 | 97久久久久久 | 一区二区三区在线观看视频 | 亚洲综合天堂 | 免费看成人哺乳视频网站 | 国产一级片a | 亚洲怡红院av | 热99re久久免费视精品频软件 | 久久久久久免费毛片精品 | 欧美乱妇日本无乱码特黄大片 | 欧洲一区二区三区四区 | 性调教学院高h学校 | 香蕉免费在线视频 | 精品国产乱码久久久久久绯色 | 亚洲第一页综合图片自拍 | 亚洲精品一区二区 | 欧美成人生活片 | 国产又黄视频 | 污视频在线免费观看 | 九九热精品免费视频 | а√ 天堂 在线官网 | 欧美xxxx黑人又粗又长精品 | 免费的男女羞羞视频软件 | 国产欧美一区二区三区鸳鸯浴 | 午夜久久久久久久久久一区二区 | 日韩视频一区 | 亚洲专区路线一路线二高质量 | 国产欧美精品在线观看 | 国产精品网址 | 国产一二 | 久久国产色av免费看 | 日韩精品在线视频免费观看 | 黄色网络在线观看 | 天天干天天舔天天射 | 丰满少妇猛烈进人免费看高潮 | 青青草网站 | 性xxx18 | 国产成人在线免费 | 成人性生交大片免费看视频hd | 777米奇色狠狠888俺也去乱 | 亚洲成av人片在线观看无 | 国产又黄又爽又色的免费 | 五月综合在线 | 免费观看成人摸66m66 | 亚洲成人基地 | 亚洲精品18在线观看 | 亚洲第九十七页 | 欧美浓毛大泬视频 | 亚洲成av人片不卡无码手机版 | 亚洲日韩av无码一区二区三区人 | 三级网站免费 | 女人爽到高潮的免费视频 | 九九热伊人 | 欧美自拍三级 | 日本麻豆一区二区三区视频 | 国产视频在线一区 | 120秒日本爱爱动态图 | 在线播放免费人成毛片乱码 | 视频在线观看91 | 亚洲精品456在线播放狼人 | 欧美性在线视频 | 亚洲欧美国产精品久久久久久久 | 久久精品爱 | 亚洲成熟人网站 | 欧美最猛性xxxxx(亚洲精品) | 泰国午夜理伦三级 | 国产在线一区二区 | 精品一区二区三区四区五区六区 | 欧美日p视频 | 五月婷婷视频 | 尤物国产精品 | 午夜精品久久久久久久久 | 国产欧美激情在线观看 | 青娱乐自拍视频 | 国产一性一交一伦一a片 | 色综合久久久无码中文字幕波多 | 免费看成人哺乳视频 | 欧美激情91 | 成人羞羞国产免费软件动漫 | 亚洲国产欧美在线成人 | 精品粉嫩aⅴ一区二区三区四区 | 亚洲精品中文字幕久久久久 | 亚洲午夜久久久久久久久红桃 | 玖玖精品在线视频 | 自拍偷拍18p | 伊人春色在线 | 操人视频免费看 | 国产在线视频网址 | 日本少妇高潮叫床声一区二 | 亚洲美女av在线 | 无码精品人妻一区二区三区人妻斩 | 男女做爰全过程69视频 | 少妇免费毛片久久久久久久久 | 久久亚洲精品中文字幕冲田杏梨 | 欧美一级色片 | 大奶毛片 | 久久人人爽人人爽人人片av不 | 黑人巨大精品欧美一区二区 | 国产免费又黄又爽又色毛 | 欧美性猛交xxxx黑人猛交 | 欧美激情视频一区二区三区 | 成人啪啪18免费网站看 | 免费拍拍拍网站 | 伊人久久大香线蕉av色婷婷色 | 欧美性猛交xxx嘿人猛交 | 麻豆av免费入口 | 亚洲黄色片视频 | 欧美日韩视频在线 | 高清国产在线 | 久久欧美亚洲另类专区91大神 | 2024av视频 | 农村真人裸体丰满少妇毛片 | 国偷自产av一区二区三区 | 国产99在线 | 亚洲 | 色哟哟视频在线观看 | 台湾av在线播放 | 嫩草一二三 | 欧美视频一区二区三区四区 | 久久av一区二区三区 | 久久无码人妻丰满熟妇区毛片 | 午夜在线免费视频 | 日本特黄特色aaa大片免费 | 少妇婷婷 | 五月婷婷激情第四季 | 正在播放超嫩在线播放 | 亚洲一区二区欧美 | 好男人社区www在线观看 | 免费a级毛片在线看 | 日本特黄特刺激一级猛片 | 欧美精品久久久久久久多人混战 | 国产一起色一起爱 | 亚洲一二三四区 | 欧美激情一区二区三级高清视频 | 国产在线视频你懂的 | va在线播放 | 国产天天操 | 性欧美18—19sex性高清 | 久久婷婷视频 | 亚洲看片网 | 欧美成人精品欧美一级乱 | 玩弄少妇高潮ⅹxxxyw | 婷婷网色偷偷久久久99超碰 | 48沈阳熟女高潮嗷嗷叫 | 少妇被粗大的猛进69视频 | 蜜桃av噜噜一区二区三区 | 欧美亚洲精品天堂 | www精品美女久久久tv | 日韩欧美成人一区二区三区 | 国产一区亚洲二区三区 | 免费精品99久久国产综合精品应用 | 91免费视频入口 | 日干夜操 | 亚洲午夜视频在线观看 | 欧美成人一区二免费视频小说 | 欧美日韩在线视频一区 | 非洲黑人三级全黄 | 欧美不卡视频 | 性xxxx视频播放免费 | 91精品国产一区二区三区蜜臀 | 少妇激情一区二区三区视频 | 亚洲国产婷婷 | 粉嫩av一区二区三区在线播放 | 日本五十路岳乱在线观看 | 凉森玲梦一区二区三区av免费 | 亚洲码国产岛国毛片在线 | 国产精品久久久久亚洲影视 | 国产成人av在线影院 | 亚洲精品乱码久久久久久蜜桃动漫 | 免费欧美日韩 | 182在线视频 | 色a在线观看 | 影音先锋男人色 | 久操免费视频 | 欧美黄色毛片 | 高清人人天天夜夜曰狠狠狠狠 | 国产精品久久久久久久久免费丝袜 | 网站av在线| 久久久国产一区二区三区 | 久久亚洲第一 | 免费a v在线| av福利在线 | 香蕉免费一区二区三区 | 亚洲精品少妇30p | 91热热| 日本不卡高清一区二区三区 | 久久不见久久见免费影院国语 | 国产清纯白嫩初高生在线播放性色 | 亚洲精品福利网站 | 亚洲专区中文字幕 | 精品爆乳一区二区三区无码av | 又粗又大又硬毛片免费看 | 女人被狂躁的高潮免费视频 | 爱草在线| 午夜性刺激免费看视频 | 亚洲色图com| 国产成人无码av在线播放dvd | 欧美a级suv大全免费看 | 国产国产乱老熟女视频网站97 | 国产精品久久中文字幕 | 91麻豆精品秘密 | 成av人在线观看 | a一区二区三区乱码在线 | 欧洲 | 国产麻豆免费观看 | 久久国产精久久精产国 | 青青在线视频观看 | 欧美五月婷婷 | 自拍偷拍第二页 | 午夜成人影片 | 性猛交xxxx乱大交孕妇2 | 一个人在线观看免费视频www | 国产女人精品 | 干干干操操操 | 啪啪免费视频网站 | 国产黄大片在线观看 | 国产欧美久久一区二区三区 | 日本大乳高潮视频在线观看 | 一二三区免费 | yy8090新视觉午夜毛片 | 中文无线乱码二三四区 | 人妻少妇乱子伦精品无码专区电影 | 人妻无码不卡中文字幕系列 | 国产性猛交普通话对白 | 九色jiuse| 久久久久久久久免费视频 | 欧洲亚洲色一区二区色99 | 久久综合偷偷噜噜噜色 | 国产色综合视频 | 麻豆文化传媒精品一区观看 | 亚洲精品v日韩精品 | 97人人模人人爽人人少妇 | 天天插综合网 | 精品国产大片大片大片 | a在线视频v视频 | 天堂激情网 | 九九综合久久 | 亚洲女同疯狂舌吻唾液口水美女 | www.爱操| 超碰天天操 | 成人av在线网 | 久久久精品二区 | 欧美大尺度胸床戏视频 | 3344国产精品免费看 | 色网站在线观看 | 欧美白嫩嫩hd4kav | 影音先锋亚洲资源 | 亚洲视频在线观看免费视频 | 特级西西444www大胆免费看 | 97国产在线观看 | 国产麻豆影视 | 亚洲不卡在线播放 | 北条麻妃二三区 | 成人性生交大片免费看 | 亚洲色鬼 | 天天躁日日躁狠狠躁欧美老牛 | 无码国产乱人伦偷精品视频 | 亚洲精品无码永久在线观看性色 | 成人欧美一区二区三区黑人动态图 | 国产精品一级 | 亚洲三级伦理 | 欧美三级a做爰在线观看 | 91啦国产| 国产av剧情md精品麻豆 | 精品免费国产一区二区三区四区 | 黄色一级生活片 | 少妇下蹲下露大唇58 | 国产精品偷伦免费观看视频 | 亚洲处破女av日韩精品 | 国产欧亚州美日韩综合区 | 国产乱妇乱子视频在播放 | 九草av| 欧美视频免费在线观看 | 美女内内免费看 | 91久久嫩草影院一区二区 | 天天视频国产 | 亚洲色成人网站www永久四虎 | 麻豆射区| 亚洲女优在线观看 | 欧美日韩中文字幕在线视频 | 久久久久久久久久久动漫 | 爱插美女网 | 草草夜色精品国产噜噜竹菊 | 国产精品色婷婷99久久精品 | 99热最新精品 | 麻豆传谋在线观看免费mv | 夜夜嗷| 伊人五月天婷婷 | 一本之道高清码狼人破 | 在线免费黄 | 亚洲成人精品在线观看 | 在线免费黄色网 | 国产精品原创av | 亚洲乱码一区二区 | 欧美亚洲色综久久精品国产 | 久草在线视频在线观看 | 波多野结衣乱码中文字幕 | 无码免费一区二区三区 | 永久黄色网址 | 特级一级黄色片 | 天天看天天干 | 亚洲一级二级视频 | 午夜精品一区二区三区在线视 | 国产三级久久久久 | 午夜免费激情视频 | 日韩av一卡 | 欧美成人一区二区三区四区 | 色偷偷av男人的天堂 | 里番本子纯肉侵犯肉全彩无码 | 天天搞夜夜 | 在线不卡日韩 | 七月丁香婷婷 | 最近2019中文字幕大全第二页 | 日本成人一二三区 | 精品视频一区二区在线 | 日韩精品aaa| 欧美精品在欧美一区二区少妇 | 99热久久成人免费频精品2 | 国产成人啪精品午夜网站 | 爱爱免费视频 | 日韩精品一区二区视频 | 91精品国产99久久久久 | 少妇激情一区二区三区 | 久久久久久久.comav | 天天爽网站| 精品国产不卡一区二区三区 | 欧美高清二区 | 日本性生活一级片 | 看曰本女人大战黑人视频 | 黄色片毛片 | 中文字幕乱码在线播放 | 超碰aⅴ人人做人人爽欧美 狠狠亚洲婷婷综合色香五月 | 久久久精品视频一区二区三区 | 国产精品99视频 | 国产极品美女到高潮 | 午夜免费看视频 | 亚洲第一中文字幕 | www.成人国产| 国产精品久久久18成人 | 亚洲妇女捆绑hd | 国产无吗一区二区三区在线欢 | 粉嫩欧美一区二区三区高清影视 | 精品一区在线视频 | 69久久夜色精品国产69 | 人人妻人人澡人人爽人人精品av | 91精品国产综合久久久蜜臀图片 | 国产成人97精品免费看片 | 182tv午夜在线观看香蕉 | 婷婷伊人久久 | 黄色a大片| 性色av蜜臀av色欲av | 日本三级三级三级三级 | 欧美日韩a | 在线观看三级网站 | 日韩欧美高清在线视频 | 欧美精品一区三区 | 夫妻性生活a级片 | 噼里啪啦国语版在线观看 | 特黄特色大片免费视频大全 | 日本加勒比一区二区 | 欧洲亚洲精品久久久久 | 免费成人用春色 | 午夜dj在线观看高清在线视频完整版 | 久久精品一本到东京热 | 亚洲一区二区三区小说 | 日日做夜夜爽毛片麻豆 | 日韩精品视频中文字幕 | 国产成人自拍网 | 在线a免费 | 中国少妇内射xxxx狠干 | 全国男人的天堂网 | 国产精品爽爽久久久久久蜜臀 | 另类小说久久 | 欧美激情图片 | 香蕉久久夜色精品升级完成 | 免费视频二区 | av丝袜在线 | 97精品无人区乱码在线观看 | 亚洲伦理99热久久 | 久草手机在线 | 少妇人妻精品一区二区三区 | 狠狠色丁香久久综合网 | 激情亚洲一区国产精品 | 国产黄色在线免费观看 | 国产精品成人无码久久久 | 午夜天堂av天堂久久久 | 男人和女人尻逼 | 香蕉视频在线精品视频 | 一级全黄少妇性色生活片毛片 | 欧美日韩国产精品激情在线播放 | 一区二区三区欧美在线 | 国产黑色丝袜在线播放 | 一区二区三区激情 | 精品无码中文字幕在线 | 五月婷婷操 | 中文字幕在线亚洲日韩6页 av无码精品一区二区三区 | 欧美又大又硬又粗bbbbb | av免费片| 欧美成人精精品一区二区频 | 日产欧产美韩系列久久99 | 亚洲国产成人精品女人久久 | 精品国产乱码久久久久久夜甘婷婷 | 国产又黄又大又粗视频 | 色综合色狠狠天天综合色 | 丁香婷婷成人 | 黄色a在线 | 一级欧美一级日韩片免费观看 | xxx国产精品| 99精品国产成人一区二区 | 日韩精品极品视频在线 | 国产91香蕉 | 九一自拍中文字幕 | 日本欧美在线播放 | 一区二区国产在线观看 | 成人综合激情 | 99精品国产一区二区三区 | 亚洲第8页| 精精国产xxxx视频在线观看 | 香港三级日本三级a视频 | 日本少妇毛耸耸毛多水多 | 国产一级免费 | 胸大美女又黄的网站 | 国产成人亚洲综合无码精品 | 国产九色porny| 午夜伦理av | 日本牲交大片无遮挡 | 日本公妇乱淫免费视频一区三区 | 精品视频一二三区 | 久久久久三级 | 亚洲麻豆精品 | 久久久精品成人免费观看 | 国产一级手机毛片 | 波多野结衣中文字幕一区二区三区 | 欧美日韩激情视频在线观看 | 99久久精品免费看国产 |