久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

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

shell腳本如何啟動springboot項目

瀏覽:76日期: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
相關文章:
主站蜘蛛池模板: 中国妞xxx| 亚洲综合视频在线观看 | 九九视频在线 | 欧美成年黄网站色视频 | 又黄又爽的网站 | 久久亚洲精品中文字幕 | 欧美一区免费 | 国产精品美女www爽爽爽动态图 | 99re国产| 国产精品视频一区二区三区 | 日日天天 | 9久久| 国产精品久久久久久久 | 久久综合一区二区三区 | 日韩在线国产精品 | 欧美黑人一级爽快片淫片高清 | 91精品久久久久久久99 | 北条麻妃国产九九九精品小说 | 九九精品视频在线观看 | 成人午夜性a一级毛片免费看 | 精品免费在线 | 热re99久久精品国99热线看 | 久久日本视频 | 精品国产一区二区在线 | 欧美成人在线影院 | 欧美高清视频一区 | 91麻豆精品一二三区在线 | 二区视频 | 日韩欧美国产成人一区二区 | 成人免费在线视频播放 | 亚洲嫩草| 免费观看的av | 亚洲美女精品视频 | 99久久综合精品五月天 | 污视频免费网站观看 | 中文在线播放 | 伊人一区二区三区 | 免费国产一区二区 | 欧美日韩国产一区二区三区 | 欧美一级片免费在线观看 | 国产精品二区三区 | 成人黄色片网站 | 亚洲一区二区三区福利 | 亚洲精品欧美视频 | 免费的黄色毛片 | 日本a v在线播放 | 国产精品爱久久久久久久 | 日韩另类 | 日韩欧美在线视频观看 | 国产91黄色 | 来个毛片 | 91国在线高清视频 | 操人在线观看 | 美女午夜影院 | 最新中文字幕 | 一区二区三区在线播放视频 | 国产成人一区二区三区 | 日韩视频一区二区三区四区 | 91精品国产91久久综合桃花 | 国产网站在线 | 日韩欧美一区二区三区免费观看 | a毛片毛片av永久免费 | 国产成人精品免费视频大全 | 成人免费视频网站 | 午夜小电影 | 日韩精品成人 | 精品美女久久久 | 神马久久久久久 | 国产在线一区二区 | 在线观看国产 | 粉嫩国产精品一区二区在线观看 | 国产精品久久久久久婷婷天堂 | 天天操天天操 | 亚洲一区二区三区中文字幕 | 欧美综合网 | 午夜免费在线 | av一区二区在线观看 | 亚洲二区在线 | 亚洲视频一区二区三区 | 亚洲综合视频 | 亚洲a人 | 狠狠操麻豆 | 日韩精品一区二区三区在线观看 | 国产精品久久久久久久久久免费 | 91一区二区三区 | 羞羞视频免费观看入口 | 99中文字幕 | 国产免费av在线 | www亚洲一区 | 青娱乐国产精品视频 | 少妇淫片aaaaa毛片叫床爽 | 伊人一区 | 五月婷婷丁香在线 | 日韩欧美国产一区二区 | 久久久久久久国产精品 | 国产精品日韩三级 | 欧美一级视频 | 视频一区二区三区中文字幕 | 看毛片网站 | 在线亚洲一区二区 | 亚洲欧美一区二区三区在线 | 精品久久久久久 | 欧美区国产 | 欧美日韩第一页 | 欧美久久精品 | 免费在线亚洲 | 综合在线视频 | 国外爱爱视频 | www.久久 | 国产九色视频 | 成人在线免费观看 | 国产美女福利在线 | 欧美久久久久 | 青青草日韩 | 日韩欧美专区 | 欧美一区中文字幕 | 欧美日韩在线二区 | 欧美激情一区二区三区四区 | 国产高清一区二区三区 | 最新中文字幕 | 日韩9999 | 国内精品一区二区 | 日韩av一区二区三区在线 | 精品久久久成人 | 亚洲免费人成在线视频观看 | 久久久国产精品入口麻豆 | www伊人| 国产成人精品一区二区三区四区 | 久久久a| 日韩av在线免费 | 四虎成人在线视频 | 你懂的在线视频播放 | 精品国产鲁一鲁一区二区在线观看 | 国产一区二区欧美 | 精品国产一区二区三区久久久蜜臀 | 中文字幕一区二区三区不卡 | 久草久 | 日韩欧美中字 | 成人av网站在线观看 | 精产国产伦理一二三区 | 一区在线视频 | 久久青青操 | 成人国产精品一级毛片视频 | 欧美一级在线观看 | 91精品久久久久久 | 伊人久久艹 | 一级毛片国产 | 亚洲自拍偷拍欧美 | 国产一区二区视频在线观看 | 久久中文字幕一区二区 | 欧美性一区二区 | 黄色高清视频 | 中文字幕日韩欧美一区二区三区 | 国产精品99久久久久久动医院 | 精品国产乱码久久久久久久软件 | 欧美中文字幕在线 | 伊人免费观看视频 | 亚洲国产一区二区三区在线观看 | 国产精品第一区 | 国产99久久精品一区二区永久免费 | 国产成人亚洲精品 | 成人a网| 国产区日韩区欧美区 | 精品一区二区三区免费视频 | 中文字国产精久久无 | av一区二区三区四区 | 日韩一级免费在线观看 | 97在线视频免费 | 午夜精品一区二区三区在线播放 | 六月婷婷综合 | 最新免费视频 | 亚洲a网 | 国产精品久久久久久久7电影 | 婷婷丁香五 | 欧美视频在线一区 | 精品99视频 | www在线看片 | 免费国产视频 | 农村妇女毛片精品久久久 | 中文字幕日韩欧美一区二区三区 | 九九99| 久草网站| 三级色网站| 99久久久久久久久 | 亚洲成人高清 | 精品国产天堂 | 久草天堂 | 精品中文字幕在线观看 | 精品中文字幕在线观看 | 国产日韩中文字幕 | 一级一级毛片 | 日韩一区二区在线观看 | 国产在线一区二区三区 | 99精品欧美一区二区三区 | 日日摸天天爽天天爽视频 | 色婷婷久久久swag精品 | 中文字幕亚洲欧美日韩在线不卡 | 婷婷在线免费视频 | 亚洲一区在线免费观看 | 91精品久久久久久久久久小网站 | 国产香蕉视频在线播放 | 日韩电影免费在线观看中文字幕 | 免费观看一级淫片 | 欧美高清成人 | 亚洲天堂一区二区 | 色偷偷噜噜噜亚洲男人 | 欧美一级片在线观看 | 国产欧美一区二区 | 亚洲精品v日韩精品 | 亚洲国产精品久久久 | 一区二区欧美在线 | 无码日韩精品一区二区免费 | 999久久久国产999久久久 | 美女视频一区 | 在线观看国产wwwa级羞羞视频 | 久久这里只有精品首页 | 蜜桃视频精品 | 日韩在线亚洲 | 99资源| 正在播放欧美 | 日日操综合 | 嫩草影院网站入口 | 在线不卡一区 | 高清视频一区 | 国产综合精品视频 | 久久亚洲天堂 | 午夜午夜精品一区二区三区文 | 亚洲福利二区 | 成人影音| 成人a网| 午夜小视频在线观看 | 久久伊人亚洲 | 欧美日韩国产一区二区在线观看 | 日本亚洲一区 | 欧美一区2区三区3区公司 | 亚洲精品视频国产 | 6080yy精品一区二区三区 | 国产精品久久久久影院色老大 | 欧美高清一区 | 一区免费视频 | 中文字幕在线免费视频 | 一区二区免费视频观看 | 久久国产精品视频 | 中文在线a在线 | 亚洲精品一二三四五区 | 久久精品系列 | 日韩在线1 | 欧美激情一区二区三区在线观看 | 久久久看片 | 嫩草影院懂你的 | 国产成人在线视频 | 色综合av| 99精品国产高清在线观看 | 国产精品久久久久久亚洲调教 | 日韩欧美国产一区二区 | 男人的天堂视频网站 | 九九九九九九精品任你躁 | 一区视频在线 | 国产精品一区二区三区免费 | 欧美激情高清 | 日韩精品一区二区在线观看 | 精品久久一二三区 | 自拍偷拍在线视频 | 国产精品毛片久久久久久久 | 国产精品国产精品国产专区不片 | 色爱av| 日本久久99 | 不卡免费在线视频 | 国产在线精品一区 | 九九色九九| 一区二区视频免费 | 久久国产精品久久久久久 | 一级视频在线观看 | 国产日韩视频 | 在线播放国产精品 | 免费一级毛片 | 亚洲在线| 国产日韩精品一区二区 | 亚洲国产中文字幕 | 国产精品视频一二三区 | 伊人超碰 | 久久综合爱 | 精品免费视频一区二区 | 99在线精品视频 | 伊人伊人伊人 | 精品视频在线免费 | 国产日韩中文字幕 | 日韩一区欧美 | 久久久国产精品视频 | 欧美在线高清 | 欧洲成人午夜免费大片 | 午夜免费高清视频 | 国产精品久久久久久一区二区三区 | av国产精品| 亚洲精品视频一区二区三区 | 成人免费视频网址 | 国产日韩欧美一区二区 | 在线播放一区二区三区 | 一本色道精品久久一区二区三区 | 操操日| 国产99久久久精品视频 | 日本福利在线观看 | 成年人在线观看 | 欧美激情在线精品一区二区三区 | 国产精品99 | 欧美精品一区二区三区中文字幕 | 国产精品第一区 | 日韩在线观看视频免费 | jizz中国zz女人18高潮 | 精品一区二区三区在线视频 | 四虎永久免费在线 | 欧美精品一区自拍a毛片在线视频 | 婷婷综合激情 | 蜜臀网| 激情六月综合 | 在线观看日韩精品 | www.国产精品 | 国产成人精品免费 | 在线视频久| 国外成人在线视频网站 | 国产香蕉97碰碰久久人人九色 | 国产高清视频在线 | 国产精品久久久久久久久久久新郎 | 免费在线观看毛片网站 | 亚洲午夜免费视频 | 国产精品久久久久久久午夜片 | 国产裸体永久免费视频网站 | 日韩免费高清视频 | 亚洲激情视频 | 久久久久免费观看 | 日韩av在线一区二区三区 | 99热在线观看免费 | 亚洲欧美中文日韩v在线观看 | 久久精品一区二区三区中文字幕 | 成人免费在线视频 | 欧美亚洲日本 | 国产在线观看91一区二区三区 | 一区二区三区视频免费 | 天天操夜夜操免费视频 | 色噜噜狠狠狠综合曰曰曰88av | 一级免费毛片 | 久久久久久9 | 亚洲国产精品99久久久久久久久 | 日韩中文字幕在线看 | 欧美精品一区二区三区免费视频 | www.久久久| 国产成人免费视频 | 日韩国产一区二区三区 | 麻豆色呦呦 | av黄色在线免费观看 | 免费一级欧美在线观看视频 | 国产一级毛片国语一级 | 中文字幕免费在线 | 国产一区二区免费 | 91一区二区在线 | 午夜小电影 | www.国产精品.com | 一区综合 | 欧美精品免费在线观看 | 免费在线成人 | 视频一区在线播放 | 国产大学生情侣呻吟视频 | 黄视频网站免费看 | 精品国产一区二区三区成人影院 | 精品免费视频 | 夜夜艹| 日日干日日操 | 日韩欧美国产一区二区 | 美女在线视频一区二区 | 91中文 | 噜噜噜噜噜色 | 欧美激情免费 | 99精品国产在热久久 | 国产羞羞视频在线观看 | 久久久久久久成人 | 久久免费视频3 | 国产高清在线精品一区二区三区 | 午夜高清视频 | 亚洲444kkkk在线观看最新 | 涩久久| 欧美视频一区二区 | 中文字幕视频在线观看 | www.麻豆视频 | www狠狠干| 久久综合久久综合久久 | 一区在线免费观看 | 国产精品成人在线 | 爱爱视频网站 | 精品亚洲成a人片在线观看 国产高清在线 | 91在线视频一区 | 一级欧美 | 日本欧美在线观看 | 欧美一区二区三区在线观看视频 | 国产无套丰满白嫩对白 | 成年人网站免费在线观看 | 亚洲精品乱码久久久久久金桔影视 | 久久av网 | 欧美成人精品在线视频 | 国产精品美女视频 | 欧美亚洲综合久久 | 午夜影院 | 日本乱偷中文字幕 | 免费观看一级毛片 | 亚洲欧美在线观看 | 中文字幕日韩欧美 | 欧美成视频 | 免费xxxx大片国产在线 | 日p视频免费看 | 免费黄色在线 | 久一区二区三区 | 国偷自产一区二区免费视频 | 久久久久亚洲精品 | 三级在线视频 | 99精品国产高清一区二区麻豆 | 久久国产精品亚洲 | 日本黄色一级片免费看 | 欧美专区在线 | 国产成人精品免高潮在线观看 | 国产九九九 | 国产欧美精品一区二区 | 国产成人av在线播放 | 99爱国产| 国产精品一区二区三区久久 | 国产片淫级awww | 欧美一区| 亚洲在线视频 | 在线成人 | 国产精品69毛片高清亚洲 | 国产精品久久久久久妇女6080 | 国产在线一区二区 | 欧美精品欧美精品系列 | 欧美黄色一区 | 亚洲综合二区 | 欧美视频在线免费 | 玖玖视频 | 奇米影视奇米色777欧美 | 欧美综合婷婷 | 免费av片在线 | 成人欧美一区二区三区色青冈 | 日韩电影中文字幕 | 中文字幕在线观看av | 久久久久久久久久久亚洲 | 国产亚洲精品精品国产亚洲综合 | 玖玖国产精品视频 | 日韩精品一区二区三区 | 奇米影| 国产99久久精品一区二区永久免费 | 国产一区在线视频 | 亚洲精品一区二区三区精华液 | 成人在线免费网站 | 国产一级黄 | 插插插干干干 | 中文字幕av一区二区三区 | 天天操,夜夜操 | av福利网站 | 国产毛片精品 | 欧美激情亚洲 | 久久国内免费视频 | 久久在线播放 | 三级视频在线 | 久久二区三区 | 国产精品国产精品国产专区不卡 | 日本三级视频 | 亚洲欧美少妇 | 国产美女一区二区 | 国产精品一区二区三区av | 二区中文字幕 | 免费啪啪网站 | 国产一区二区av在线 | 又黄又爽的网站 | 中文字幕av第一页 | 91免费观看 | 成人片免费看 | 欧美日韩久久精品 | 日本免费在线 | 日本三级中文在线电影 | 成人精品一区二区三区 | www.久久伊人 | 国产激情在线视频 | 69免费视频 | 中文字幕 国产 | 国产免费一区二区三区网站免费 | 精品三区 | 国产视频第一页 | 欧美亚洲国产一区 | 天天澡天天狠天天天做 | 欧美综合色 | av在线毛片 | 日韩欧美自拍 | 国产婷婷精品av在线 | 欧美一区永久视频免费观看 | 欧美精品一区二区三区一线天视频 | 91免费影片| 亚洲蜜臀av乱码久久精品蜜桃 | 国产精品久久久久久久9999 | 亚洲视频在线免费观看 | 欧美一性一交 | 亚洲精品一区二区三区在线 | 一级黄色录象片 | www.伊人网 | 午夜视频网 | 欧美日韩一区在线观看 | 在线观看午夜免费视频 | 欧美一级片免费观看 | 天天草天天色 | 亚洲国产婷婷香蕉久久久久久99 | 久久国产99 | 看黄网址| 日本黄色一级片视频 | 亚洲国产成人精品女人久久久 | 日韩免费在线视频 | 欧美视频综合 | 成人免费一区二区三区 | 在线免费观看一区 | 国产九九精品视频 | 国产精品二区三区 | 亚洲精品在线观看免费 | 日韩福利视频 | 久草毛片| 欧美日韩一区二区三区在线观看 | av在线毛片 | 精品99免费 | 91精品久久久久久久久久 | 亚洲视频在线看 | 黄色片免费观看网站 | 国产精品久久久久久久午夜片 | www.avtt天堂网| 中文字幕成人网 | 欧美日韩一区在线观看 | 毛片黄色| 麻豆av电影在线观看 | 黑人巨大精品欧美黑白配亚洲 | 曰批免费视频播放免费 | 欧美成人精品在线 | 精品第一页 | 色一情 | 亚洲精品久久久一区二区三区 | а天堂中文官网 | 夜添久久精品亚洲国产精品 | 国产一区二区三区免费视频 | 国产精品国产精品国产专区不片 | 午夜久久久 | 成人精品久久久 | 国产主播福利 | 久久一区二区三区四区五区 | 亚洲一区在线日韩在线深爱 | 日本福利网站 | 国产一区二区三区在线免费观看 | 一级高清视频 | 中文字幕视频三区 | 亚洲一区二区在线免费观看 | 波多野结衣先锋影音 | 国产精品a久久 | 国产一区 日韩 | 午夜天堂精品久久久久 | 国产在线网 | 国产精品视频一区二区三区 | 毛片激情永久免费 | 久久久久久国产免费 | 精品免费视频 | 男人天堂社区 | 久久久久久免费看 | 成人在线视频一区 | 亚洲男人天堂网 | 亚洲中字幕女 | av在线大全| 国产欧美日韩精品一区 | 国产一级免费 | 成人国产免费视频 | 欧美日韩中文字幕在线 | 亚洲成人免费 | 麻豆沈芯语在线观看 | 香蕉三级 | 91在线精品一区二区 | 天天操天操 | 奇米色欧美一区二区三区 | 精品不卡| 一级在线观看 | 中文字幕欧美激情 | 色婷婷综合久久久中文字幕 | 国产精久 | 欧美 日韩 国产 在线 | 国产成人av一区二区三区 | 国产精品一区二区av | 欧美不卡视频一区发布 | 国产亚洲综合一区二区 | 日韩精品观看 | 国产一区二区视频在线观看 | 欧美精品一区三区 | 国产a级毛片 | 亚洲精品在线播放 | 国产精品日韩欧美一区二区三区 | 野狼在线社区2017入口 | 欧美日韩一区二区三区在线电影 | 亚洲成人免费观看 | 欧美 | 欧美视频免费在线 | 亚洲免费视频在线 | 久久久久久久av | av在线一区二区 | 国产最新精品 | 看羞羞视频免费 | 亚洲香蕉视频 | 日韩成人在线播放 | 99精品免费视频 | 99精品国产高清一区二区麻豆 | 久久99精品久久久久久琪琪 | 亚洲精品美女久久久 | 91精品国产综合久久久蜜臀粉嫩 | 黄色一级片在线观看 | 男女午夜 | 久久小视频 | www精品| 国产亚洲一区二区三区在线观看 | 一区二区三区视频 |