#!/bin/bash# 脚本中只要出现执行不是true的语句,就退出不再往下执行
set -e# 导入环境变量
export jar_PATH=/data/web
export APP_PATH=/home/# 判断老的进程是否存在,若存在就杀掉
killjar()
{pid=`ps -ef|grep supplier-center |grep java |awk '{print $2}'`echo "supplier-center Id list :$pid"if [ "$pid" = "" ]thenecho "no supplier-center pid alive"elsekill -9 $pidfi
}# 调用函数
killjar# 判断老的jar包是否存在,若存在就删除
[ -f $APP_PATH/supplier-center-1.0.0-SNAPSHOT.jar ] && \
rm -rf $APP_PATH/supplier-center-1.0.0-SNAPSHOT.jar# 更新最新的jar包
mv $jar_PATH/supplier-center-1.0.0-SNAPSHOT.jar $APP_PATH# 重新启动
nohup java -jar $APP_PATH/supplier-center-1.0.0-SNAPSHOT.jar > \
$APP_PATH/admin.log &# sleep 10秒, 等待java进程完成起来
sleep 10secho 'Start success!'

sh -x supplier-center.sh   #检查脚本是否有问题

#!/bin/bashcd ${WORKSPACE}/supplier-center/target
scp supplier-center-1.0.0-SNAPSHOT.jar 192.168.0.29:/data/web
ssh 192.168.0.29  "bash /data/sh/supplier-center.sh"

判断都有if语句,否则jenkins会执行不了,还有一个巨坑

#!/bin/bash# 脚本中只要出现执行不是true的语句,就退出不再往下执行
set -e# 导入环境变量
export jar_PATH=/data/web
export APP_PATH=/opt# 判断老的jar包是否存在,若存在就删除
if [ -f $APP_PATH/antSale ]; thenrm -rf $APP_PATH/antSale
fi#echo $?
#echo "###end###"
# 更新最新的jar包
if [ -f $jar_PATH/antSale ]; thenmv $jar_PATH/antSale $APP_PATH
fi
#echo $?

nohup java -jar admin-1.0.0-SNAPSHOT.jar >/dev/null 2>&1&   jar启动输出日志到空

jar包引用本地同级配置文件config,解决每次合并分支更改配置文件问题,相对路径可以加个config自动识别配置文件

nohup java -jar -Dspring.config.location=/绝对路径/application.properties /xxx/xxx.jar > /xxx/xxx.log &

#!/bin/bash# 脚本中只要出现执行不是true的语句,就退出不再往下执行
set -e# 导入环境变量
export jar_PATH=/data/web
export APP_PATH=/home# 判断老的进程是否存在,若存在就杀掉
killjar()
{pid=`ps -ef|grep supplier-center |grep java |awk '{print $2}'`echo "supplier-center Id list :$pid"if [ "$pid" = "" ]thenecho "no supplier-center pid alive"elsekill -9 $pidfi
}# 调用函数
killjar# 判断老的jar包是否存在,若存在就删除
if [ -f $APP_PATH/supplier-center/supplier-center-1.0.0-SNAPSHOT.jar ]; thenrm -rf $APP_PATH/supplier-center/supplier-center-1.0.0-SNAPSHOT.jar
fi# 更新最新的jar包
if [ -f $jar_PATH/supplier-center-1.0.0-SNAPSHOT.jar ]; then
mv $jar_PATH/supplier-center-1.0.0-SNAPSHOT.jar $APP_PATH/supplier-center
fi# 重新启动
#cd $APP_PATH/supplier-center && \
#nohup java -jar /home/supplier-center/supplier-center-1.0.0-SNAPSHOT.jar > supplier-center.log &
nohup java -jar -Dspring.config.location=/home/supplier-center/config/application.yml /home/supplier-center/supplier-center-1.0.0-SNAPSHOT.jar > supplier-center.log &
# sleep 10秒, 等待java进程完成起来
sleep 10s
echo 'Start success!'

远程(jenkins)调用shell 不能正常结束

例如:nohup java -jar start.jar >log.log 2>&1 &。但是在jenkins远程调用,会把日志打印在jenkins控制台中,导致任务不能结束。通过排查,在程序运行前使用了cd命令,先cd到目录,在运行命令cd /service && nohup java -jar start.jar >log.log 2>&1 &改为绝对路径,去掉cd命令,程序正常了脚本如下:#!/bin/bashset -xkill -9 `ps -ef |grep start|grep -v grep|awk -F " " '{print$2}'`source /etc/profilenohup java -jar /service/start.jar  -Xms500m -Xmx500m -Xmn250m -Xss256k -server -XX:+HeapDumpOnOutOfMemoryError > /service/Log.log  2>&1 &echo "starting service..."sleep 10#根据重启后是否有当前应用判断启动是否成功pid=$(ps -ef |grep start|grep -v grep|awk -F " " '{print$2}')#echo $pidif [ -z $pid ];thenecho "启动失败"exit 1elseecho  $pid  "SUCCESS"fi

jar包配置文件合并之后格式为,数据库-服务名-nacos注册地址-redis地址- 服务端口

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://rm-wz9qbq5wc36h2b41f.mysql.rds.aliyuncs.com:3306/cloud?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8username: xiaohongyipassword: sz@147258xhyapplication:name: auction-centercloud:nacos:discovery:server-addr: 192.168.0.31:8848#server-addr: localhost:8848redis:database: 1host: 192.168.0.29port: 6379password: 123456timeout: 1000msjedis:pool:max-wait: -1msmax-active: 16max-idle: 8min-idle: 0redisson:address: redis://192.168.0.29:6379password: 123456server:port: 8098management:endpoints:web:exposure:include: "*"
alibb:sms:accessKeyId: LTAIrXEyIBbszB9Nsecret: LiGQH9Oh3WAZ3w8kG4UwwZV5qIulA2domain: dysmsapi.aliyuncs.comversion: 2017-05-25action: SendSmspay:#    appId: 2019060565439456appId: 2021001199671097notifyUrl: https://api.xiaohongyi.net/test/alipay/notify/returnUrl: https://api.xiaohongyi.net/test/h5/order/returnPay/gatewayUrl: https://openapi.alipay.com/gateway.docharset: UTF-8format: json#    aliPublickey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkUxyfLvcAKZYm9s4loYBxswtnwH923bzjldZpg+m+R+guFnsncgRHAufvRApL4cQjWQQT4uhk5j+DtKGNe2B+LdXsJUtirwJHS58XBzE4IObwy1X4pYU0e3FhJx3Oq8y/RzrT2HD2TCdoKMTganIW+E6fbamU2tIqIiwP+GtaZj+EDhc9j6LBKyOXowWZjV2luQNPMbETBlLtTVssTICaEAO800Vl/8QT5SlOGpe1QtQT0qIg/LQHwLfcegLNBDN1ExoQeVgghy5M8R1vseE43B/vF9lw5MksoVXuStEuswhZpgWduxZ9tQPSGIhwQ0tMR0C+1nJ3x+Ynx0kE+W3kwIDAQAB#    publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmEi0Nostyl4+uyHGP8+WbzNsZhAAx3nk6OVjoJoyAT7guVPKOAmhF2/qhM1427EvlDZ8MR83zULZ7c9clakXiBJ8+fAlOh6AN0FrC2VE4nLQaVOm1ZdCSxeVZzeVRtnvW+AekDfqslm1HTxLcZL2Vo/MOz5mi7fAwKW5y6e8PBrVXtYxJAVGqOapZS+ItRqH0Di9qS813tgmdIK4lJsPNWK3gNFSJj+tSt8kyuRMSpHlq14KUK/aKDTya5evqGDNnHb8gPukUFiMmM29R5DkkwvyI+tUf9PO3aLnNH1CoIh9pDTHs88iyLNo/hvAcavsR0fc+DP5T4bhVnNstTB+uQIDAQAB#    privateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCYSLQ2iy3KXj67IcY/z5ZvM2xmEADHeeTo5WOgmjIBPuC5U8o4CaEXb+qEzXjbsS+UNnwxHzfNQtntz1yVqReIEnz58CU6HoA3QWsLZUTictBpU6bVl0JLF5VnN5VG2e9b4B6QN+qyWbUdPEtxkvZWj8w7PmaLt8DApbnLp7w8GtVe1jEkBUao5qllL4i1GofQOL2pLzXe2CZ0griUmw81YreA0VImP61K3yTK5ExKkeWrXgpQr9ooNPJrl6+oYM2cdvyA+6RQWIyYzb1HkOSTC/Ij61R/087douc0fUKgiH2kNMezzyLIs2j+G8Bxq+xHR9z4M/lPhuFWc2y1MH65AgMBAAECggEAGK8YPwsaVgYmxvB3kRpV+RptxLFtXugcOcANARhdaKRHiuLREXpGGWVzrykbIQk8fBrE0LWNtwDSEGEfUccB4HWWunC5qA0PnWVGM6erncUckSYVEeQdw8xD1GJHGR/0U4ElkxztNxGhcOa4F+XJdkiCw0ufFaCoZtG2JxO+SEOVIQVep1HpM3oMgAGR1TCCVf1D1l2NlyFf4ysvHkQJe2aWIqwvOevaSvl+Nl3ehIYvq9js/Q9Cuku3t5VZ1rABo1EyKqfCLUyj0XP/vakfxCvk52uExlWc36Zgl4yRLv6fKHvpI9GXmYrXYSmElSRArjCb4hAedPka/qnAhuZmAQKBgQDPsxtOeMpshsP8R5+nOEN5v+uMTHnKhEFcHoCJQIETg9riSMEhaVcBOBLJ6SS/SwQsjqPtklshVi1Tv3Z8Il1jeIWxNe4PJKcxTPXq2chYZtLYNwqjL2jq0IuW/Qsst4JhkHXblul+D9h5eo+WMSpPq8EYXtrjP70Y9Cs6ykCX+QKBgQC7so/gjj/sobtXfdvLos+xMxXj/YJzpsQF6znGB9mAUmlb+PDv1nOYgm2quVtgHfkmcm54dpt7EPb3oynRg2oXVGKFo7znidnEaY+kT+2sXIZiQwtXsdz4Bch7FwFJRmks8ZJ+U3BSNH6p6rdhTS+oEVykSmaXzn3M64eqkGBMwQKBgD7mJ8PY8rxxB5M0AZZ7hHuvcl73nf6FlOGX3ycxoKVPTg8vJ0W+B/o3iAEbmORRjH8N53j/1JdA6NMu7WvkYFHKYvpqsaBmYjec7fBkabbT1NBjwtXueqB57XwZP7QYEuUHAZoxlp51oAIR6r/6Pa0I/54ow7MET3jqINlZ/LvJAoGBAIt5PXaU3aV97NMvv/MK0aCQIHUhPR2pT0JCr9SaoqG7G3Vvf8IIri8mxE03nVHIFArgv3weTpzdV1de1EVOjLg3SVqa+FVpVvufoVBs4GTTADzmKviIP3XB/l6RErCbdK4j+EKMyAsd3P1wX8Ia9A3EkP24F5I4q7xpTI+O5zBBAoGAbkhyxNJIVqhUgb+UioQNaWhzZhYuG8ZSV3Q5q4OO9JjoeQdbmY8gvpu3u+cLLxv/ovg6enCOxkoQUfD6TmyRRw4iI5C2bApCZ6yNUkQb8xW2zKpGdXKSD1luwYbhjyxiMzRBKJIP7hyj9X0VfLhian4VKFf2WsWjC1ofiLRvbww=aliPublickey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvT74NkqdiScXZ4THvUZp5XMZXPAr2+08I9nNZUNzJWa96zwUafPvKTlzzr1JxRzAjz5BzTv/iIb6nTUSjC63xvixvOqmD8fvlQ8XS2GGCxqv6JJtnzXZyb7DRKT59mFJFus2I3zxA3IMFz6wso5CtQQE/E1VsAOna6pMwdseiTjGd1+OluXFWZGYd9hqBfNzrCQSr9dY8CMl1GEk/pMbErq788u6G5BNgOY6Z7IfPhkMDTjoYyfpgtvf4rVp9eu32JayoxKtoFS0XjKgl32Rxmr2GWN9gupFFAVXT4T0IPwIIzokWU2kIhd2HBRNwvx0ZTX8B7HX7E8wKokED264CQIDAQABpublicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3yaQ9Vj7ZaGQMrFLO+t4KrK3WYpk2IT3axk82B6CqilPN88xzVBAH+aT69NRNsPeOOJGtPjQhZXLZeqZrW+50K56g/RYbn8aCf3yB/7nGmHdBVlfAkLvMv5jiJ1MWjYsYUbAvdH/pPaUW59F89zWP1jURQF2ho9ewRPPLKGXnr+EkXu6SI29jJ0rbxHHsDhgieyrxYzKid3aEmrFYakpYMeDigMFJ2UU+NGFJ7FgFxUWUgqJPk5PVB1j+D/XOpGNkUeKQ3hLiCuw7HcmMUSY+nCXgMxXxqYb7D4i9dL52LWmiOVmoXGx15QzvLwL/4Pkr/3pB2xKvf/0RSuiV3HiVwIDAQABprivateKey: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDfJpD1WPtloZAysUs763gqsrdZimTYhPdrGTzYHoKqKU83zzHNUEAf5pPr01E2w9444ka0+NCFlctl6pmtb7nQrnqD9FhufxoJ/fIH/ucaYd0FWV8CQu8y/mOInUxaNixhRsC90f+k9pRbn0Xz3NY/WNRFAXaGj17BE88soZeev4SRe7pIjb2MnStvEcewOGCJ7KvFjMqJ3doSasVhqSlgx4OKAwUnZRT40YUnsWAXFRZSCok+Tk9UHWP4P9c6kY2RR4pDeEuIK7DsdyYxRJj6cJeAzFfGphvsPiL10vnYtaaI5WahcbHXlDO8vAv/g+Sv/ekHbEq9//RFK6JXceJXAgMBAAECggEAYpnJ538f5jJTYvLQCXPsLwG03k22ba2jHaGTLvOcTM/f/wsAOHZDP1VE+yjuc8JsSLpC/+gJS116+FeG/AmoEztlSzUGdhyXRt78uOe6+f9QB/MLdhZZVzDsjgrjF+FkDr+Sns1RpnSF7U4dPLnRuT/o22zgEGj9N1cnbdMhCbVHB3nb+/QON+na71vMlvDWwCi3snxBYaQRq+0rktG7XHioqCWWwkkkT68cgpTdTEyJPeVDgm0XelA8X+IkxJxmqMzCrb+UsvYhwrlwfWWcXFvJNkFSzdLgHVjZWYgWgAbf9zDQ5MwgvJ7RmBurmoMEX8X6OWjLxRUsReCIpL614QKBgQDv3z2IxL3atrPRBgtGuTusTwqwCWlKsUlEow25U3WrTbzTnLjI4jbb1/Q7rEPQeqf2WZOgmxrVjj7d7CzQyB9hT74ytlYcIWpw/8HX5PBSZpfLhxhk5e2ScEYsl4rPpxNUhyKJ8nVRGT2EZJuLPJ86im3i8LhGWyFAtoNxx8sTjwKBgQDuJ4L+fWTBuEKdrMWLiAcRVAMHrS5fzzJfgjiuoV1Jyl+iJX64vni5hNYten8VbTPOz91tWigOA4rVnA/fS449HOOtfjnxtVauZ32ZxR+W0CwhTW8yTmpM1lOYf2cosKQABUFL6q9PvuQBaQTDrnLhiJtyEhRZagW1/Og+F+NAuQKBgHePlEJJnkAX9QTouFImHeJC+5bG+h5qw5RcmYiYWvxpoQbxBQHMD4AA4hGkSaDuoi2edIEHDpcHcbp379aZCVsdvjXUwJMA7Ocp89rCmC7aSCsASV5xZLsrDy9G0b+zDWWCfeq4WVV0+T62TvlV3B/3w9HsHk2jOq3gyx+5cDVtAoGAQz7C3Sr47T4jCTSEnw5suHbZWCyNQJ5XoeI6MQz9M13CPR2LN40It5GLjFHfWmR4UXgeFMd1MefMJt6nGKzT3+utWgqfP+GtNRehvm6LqeDj5Q9hS3oax9Foz1GCBlpCJINXWaFNmR3UcZV+s+YpKAeTpNT4C/tE24sq5IWINHkCgYEApteVE9JsBoOQEU2xedbgcWggGburP/kR3OZUgp0sqYofqYEvvvl/RXU854qg1+8IWWfbYg59ZFNQhCWFIk7J3xCdue0fFV26vEi48ehXmj05On2Ys4+i60wBsOSiwekdZca36XAF/lMSHLcV+xL0HNTJAybxxuvbxuUhVlvUToE=singType: RSA2# mybatis-plus相关配置
mybatis-plus:# xml扫描,多个目录用逗号或者分号分隔(告诉 Mapper 所对应的 XML 文件位置)mapper-locations: classpath:mybatis/*Dao.xml# 搜索指定包别名typeAliasesPackage: com.pzhu.spring.cloud.alibaba.common.domain# 以下配置均有默认值,可以不设置global-config:db-config:#主键类型  auto:"数据库ID自增" 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";id-type: auto#字段策略 IGNORED:"忽略判断"  NOT_NULL:"非 NULL 判断")  NOT_EMPTY:"非空判断"field-strategy: NOT_EMPTY#数据库类型db-type: MYSQLconfiguration:# 是否开启自动驼峰命名规则映射:从数据库列名到Java属性驼峰命名的类似映射map-underscore-to-camel-case: true# 如果查询结果中包含空值的列,则 MyBatis 在映射的时候,不会映射这个字段call-setters-on-nulls: true# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用log-impl: org.apache.ibatis.logging.stdout.StdOutImplwx:pay:privateKey: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCtPHwYhTSPuuQ9enp4/vZNntCItpY0/mwEjUit1VxUP7e8o/rSQHtGmlYOrVJp5JgAHUs/Q6jpNKnW2gVP/UExov6VJsDNU7si9Rp4Ne6d821a1f+Qo3fL2hET7WS1gsGSKhchujQ3A05u+SzGsqtAsteMsK7Dj/ibnIzAypAkjO55j1tQRlv1iSC0Hlt87I0HGcKEqZbKTQBJtsaY4/rKbwHZAfM3Cg6eFo+diDq7nsTSYbnr1h/HI63Bql5KNvtrfHuI4Ye6QMN2B7UHgwfgPUT64yUczNcO+Ga2mXDLL4P3ajBws55of5FqxGpTV040QdLbcBMeaQ/BLt/2vhYfAgMBAAECggEBAKF+nFUjgJ9o47MoRZocXTJ5FgAM7rRSZhJMP2/GUj878yZJW967O/DSmd0u2IBdGRIqPOaqRYG5lYb0UjWCa09BmsEikmQXZYIuKlHcPSlEMDKZApksutXv4THJgbPwRFHlKRFJC7opO+oaIhLNpvY2gtjmMNWglmtCorhrXbqjmiHAFiSsKEkNBeLTOnevyYbBVycnsppLAzZKn5HT6aH7r2R90b1Z6B4MKLkBgFRZRB/ARtfAsKHNxYfMSKjgAKjB4/Jvp2FZ9c43pIZrySYfsukr2P8AsU1xdsEiG/iZxJNB1XnByieq5KFvdiKRqtfIeY0CJCe4/DQERxaf2+kCgYEA2fJlLuyTN/AYkA7iL8eTnjU5MxpHsEXGDdmBgyumrYspA8C2F416+EzFZujfIklg3lvGloTp3l5FtTnojWNN0nJlwqTNL071XHgV3XJoLWD8uqWZlf8K5STWtxfrASXImZmaD/N3F2OirnjHNywFxetnwlS6JwWjlZktQVssVn0CgYEAy3unQnKZTdwG1pji1JHGl/aTUp4wzP7IKlFG14KyB8DSArQQ4l/TVt0VgzWEOGn0jZbUxItVXFrOqaKJk9Ztj0LImwwHzPthoXHH4N4eJQUkXpnCpYjPXWnZh69N8aCPKnBKQFP5drV2bkfMuJcZ5byTRzbxc6ET70jo8Fm2VcsCgYAZuSE2G5f4ly7e+dK6XuzOVGvO20AwzttkURKXH7TJcM5DciBLwVgNLEp0LfIAAvca52wV4dQUeb3yeMY4wcqyluvpwDezaLdO1aGHBHTFPlg100vAR1zK1ME+1OTYutPlRRrI3SxmJ01RGFIy8dAwnusdJZDfACxhgLW1rAQcpQKBgQDGuSiMWGcoBu4WvpEokIWm+4S9dwip61mJGn9ZEabUs5dmVHz42CUJ/Dh6P9W1UqUnclqw6HKhE34pZTd/TjcJZmuMIJ+trQOYLArMraA6/16ZlQjnqUj7LdjoDmjMxcWL6MZbNKe5K1dSNITW8Zq1JwmezyXXi0RwuH/l23ebKQKBgH20WoXS3XQBUWyy52BXetMw3XYTdrv79j5GEZt3D5ThASpqA0EKU91J3iZGEObxJMUpRyzBjq2rhKTNSUm6+uAMiOIVGwJth83FExhNr0Ky97tqDEO3x2HTa170LnoyOkU8q0INHUOPLrk2mCS2u+AvaWdkuijM2AS9k7F8v7tJmchId: 1605166544mchSerialNo: 738A0DD35C04DDB9507F637F943C658C29B7E685appreqUrl: https://api.mch.weixin.qq.com/v3/pay/transactions/appnotify_url: https://gateway.huaniupp.com/auction-center/api/notify/weChat/notifyappappid: wxe491e99fe54ff6fapromreqUrl : https://api.mch.weixin.qq.com/v3/pay/transactions/jsapiparamappid: wx01ff2c705ed0bf9drefundNotifyUrl: https://gateway.huaniupp.com/auction-center/api/notify/weChat/refundNotifylogistics:key: YmAhuxLp4606customer: FC2D04B3F392335E957E6455BF98ACC6secret: 1bacd0239f6741a489580fff343af87auserid: bd46d19551a94fb299405383ca20fc09ali:pay:APP_ID: 2021002190661261APP_PRIVATE_KEY: MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDwhzWfGwZp6w3R0UUeZczayRiPrTraBK1troKnd6ihQumyJNDj4yTi8HofbUaskML+hiAUGo/2+FIcv0bq6j0NwVD2Ac7gHn+V3fV3mi9lqOI8yR1IB+zQiZL5b3W7vCRxs3oWkG4b7YsS6LK+xACYqLpRioHXgCyP04WCgsR/DKcaL7V3zMov/zCs7Ar1D5AKUaYWhDp/RKJQ3DaBOLFTY7HDNruwJapG3Cvlzyzt4luPpTLcZqrTpraCn2t7DrGjgKcAIDaqP2GMc+NbtFTIkVoh408dTBbWEG/pmfvW/eOwFk9olSUV6fQFFPesCatI2t4BJa3uL5vNkF3sgHxNAgMBAAECggEAdOpENkJ8q5+F6CdA4bW6Dd8SAUTDBpafdmENQTn4zeoojl826o7Or0EVG5GSeO8k2XN4xEzlDbdGspKHdkjFxJnjMLFQTcCFY+OwHaLkxxWAYuufQBQaGIPG3VhAcjDRxjLndXBfFVQx9c8Gk5PSdmINrvUUiBvVjVPT4cyOlvIuSjwzXUxCBeZ0GeOivRahQu3Le+1beGOGGC+fO5hqXUVOKyI5B4YqEoJ/NPW2MPqtSV9iTCLHpcPq3UN9P5rFbd12IH922STiep3HhdU8PSHpq5431uHhUwjX6s/yId0nwYRZqMsU/WlLmv3aiGLyRfOOElPfb2CWDno/AU0MQQKBgQD5Sg3PqO1UaU7w60xwAq30/5h83gb3IAQTBs1Q17BJ8f8iRm9s/SydFGaoxWGRPUHNhd5oOY38+QuXvACHJRqzxuS7yKUdl2oY1T042r7+woTDxdHy2/uzqcjQoLKlsLqqXNkWVKceroQiJOczm/JUz9vbfHTbJ/3q4n2m0s5SXwKBgQD3AMeGtlFB8Q0hiaEs4LDSxKfQzxzFD8x3Jqc0AUphjHgkHum7p8sB8OlZBYQFEhUwh2yxV5ZNWe80n+6GtKas6pnUWJv0fPHdGXINWgZrmxYtEtfborLQCh/ulqFqEIndZvFmfTKTQf7BgwMIi4wAYc4eHY4Xy3c1XJsHXoRo0wKBgC1n6KYXTcsfN0q4gP6x7j9+wqaTxk8C3NseVQ1RjAGb+22hyK/gWVzvF1fMQ94xeyfVJ1JykUMvlYX4r1vuTTPLmWP+wtxl9OQ7CuCtLza19Xq3MGt82Ba8aSBe9MsrKoTXTo87sgjrnpOdhyMmV3hNN+19eMdmPGCpClv1b7EfAoGAN9FLRZwJvNcWWo/ZhmS4UMj0C3HiVH3/fKWVf2ETR/wQYklCFJAUhjnE4cMnVGYDt9XCsEjUxGIgdkn2Aybry4Owg5YKmDNsDMTlSzMe5E5FsqXhddbMhcrj8GzFyUw3e3r57mk4dqKhSWWr19CBMMzpYVDYfXQTWlG1DvNDBNUCgYB/9bT2Af9Ns6F//3DuFjUle6GfMc4wjsIUi+332bUUARVy/+xXC/zob8ZCOvNMXFoC/f9QBbq6ZPspzYePnBJDdb9h9QdExOZ13hrWhqpbnZuD9X8eehfv/PcyU5ePNhqXKKXWR8Oi5nnsWTTVDaErxKnqfc17aLMT3hARoZNHnw==ALIPAY_PUBLIC_KEY: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvT74NkqdiScXZ4THvUZp5XMZXPAr2+08I9nNZUNzJWa96zwUafPvKTlzzr1JxRzAjz5BzTv/iIb6nTUSjC63xvixvOqmD8fvlQ8XS2GGCxqv6JJtnzXZyb7DRKT59mFJFus2I3zxA3IMFz6wso5CtQQE/E1VsAOna6pMwdseiTjGd1+OluXFWZGYd9hqBfNzrCQSr9dY8CMl1GEk/pMbErq788u6G5BNgOY6Z7IfPhkMDTjoYyfpgtvf4rVp9eu32JayoxKtoFS0XjKgl32Rxmr2GWN9gupFFAVXT4T0IPwIIzokWU2kIhd2HBRNwvx0ZTX8B7HX7E8wKokED264CQIDAQABserverUrl: https://openapi.alipay.com/gateway.doCertPath: /usr/local/cert/appCertPublicKey_2021002190661261.crtAlipayPublicCertPath: /usr/local/cert/alipayCertPublicKey_RSA2.crtRootCertPath: /usr/local/cert/alipayRootCert.crt
#!/bin/bash# 脚本中只要出现执行不是true的语句,就退出不再往下执行
set -e# 导入环境变量
export jar_PATH=/data/web
export APP_PATH=/home/task
export DATA_PATH=`date +%Y%m%d`
#export CONF_PATH=/home/hnpp.config/task.yml
# 判断老的进程是否存在,若存在就杀掉
killjar()
{pid=`ps -ef|grep task |grep java |awk '{print $2}'`echo "task Id list :$pid"if [ "$pid" = "" ]thenecho "no task pid alive"elsekill -9 $pidfi
}# 调用函数
killjar# 判断老的jar包是否存在,若存在就删除
if [ -f $APP_PATH/task-0.0.1-SNAPSHOT.jar ]; thenrm -rf $APP_PATH/task-0.0.1-SNAPSHOT.jar
fi# 更新最新的jar包
if [ -f $jar_PATH/task-0.0.1-SNAPSHOT.jar ]; then
mv $jar_PATH/task-0.0.1-SNAPSHOT.jar $APP_PATH
fi# 重新启动#nohup java -jar -Dspring.config.location=$CONF_PATH $APP_PATH/task-0.0.1-SNAPSHOT.jar &
cd $APP_PATH
nohup java -jar task-0.0.1-SNAPSHOT.jar > task.$DATA_PATH.log &
# sleep 10秒, 等待java进程完成起来
sleep 5s
echo 'Start success!'[root@hnpp-1 user-center]# cat /data/sh/admin.sh
#!/bin/bash# 脚本中只要出现执行不是true的语句,就退出不再往下执行
set -e# 导入环境变量
export jar_PATH=/data/web
export APP_PATH=/home/admin
export DATA_PATH=`date +%Y%m%d`
#export CONF_PATH=/home/hnpp.config/admin.yml
# 判断老的进程是否存在,若存在就杀掉
killjar()
{pid=`ps -ef|grep admin |grep java |awk '{print $2}'`echo "admin Id list :$pid"if [ "$pid" = "" ]thenecho "no admin pid alive"elsekill -9 $pidfi
}# 调用函数
killjar# 判断老的jar包是否存在,若存在就删除
[ -f $APP_PATH/admin-1.0.0-SNAPSHOT.jar ] && \
rm -rf $APP_PATH/admin-1.0.0-SNAPSHOT.jar# 更新最新的jar包
if [ -f $jar_PATH/admin-1.0.0-SNAPSHOT.jar ]; thenmv $jar_PATH/admin-1.0.0-SNAPSHOT.jar $APP_PATH
fi# 重新启动
#nohup java -jar -Dspring.config.location=$CONF_PATH $APP_PATH/admin-1.0.0-SNAPSHOT.jar &
cd $APP_PATH
nohup java -jar admin-1.0.0-SNAPSHOT.jar > admin.$DATA_PATH.log &# sleep 10秒, 等待java进程完成起来
sleep 5secho 'Start success!'

JAR包自动启动脚本相关推荐

  1. linux启动java jar文件_推荐:Linux启动Java程序jar包Shell脚本

    #!/bin/sh# 该脚本为Linux下启动java程序的脚本## author: luandy# date: 2021/1/15## 特别注意:# 该脚本使用系统kill命令来强制终止指定的jav ...

  2. java -jar 停止_推荐:Linux启动Java程序jar包Shell脚本

    每次启动Java程序jar包的时候,难道你还在手敲java -jar xxserver.jar--?边敲边想着都需要追加哪些参数? 今天就推荐给大家一个几乎通用的Shell脚本,它支持Java程序Ja ...

  3. Shell 简单的java微服务jar包 -- 部署脚本

    部署描述: 1.jenkins 通过maven编译成jar 项目包 2.shell 脚本从jenkins机器发布到:目标主机 注释:次脚本没有写jar包的备份,有时间加上 脚本内容: #!/bin/b ...

  4. windows 根据端口杀进程 部署jar包 批处理脚本

    @echo off & setlocal EnableDelayedExpansionecho 启动脚本...... echo 关闭进程...... set obj[0]=8082 set p ...

  5. Windows一键启动jar包bat脚本制作

    Windows 系统下: 在开发部署项目过程中,通常会反复的启动jar包项目,有时候要启动多个服务来支撑系统正常运行,为了提高效率,简化重复性任务,制作一键启动脚本.方便开发调试,也简化运维工作量. ...

  6. linux服务器运行停止Jar包Shell脚本编写

    启动脚本: #!/bin/sh #启动脚本,nohup方式表示后台运行jar包 # 参数说明如下 # -Dfile.encoding 设置文件编码方式 # -Xms2000m JVM初始分配的堆内存 ...

  7. 启动jar包shell脚本

    1.创建shell脚本 makir start.sh 2.复制以下内容修改自己jar包的文件名和路径 jar_name=xxx.jar jar_path=/xxx/xxxx log_path=/xxx ...

  8. python脚本里执行jar包_python脚本简化jar操作命令

    本篇和大家分享的是使用python简化对jar包操作命令,封装成简短关键字或词,达到操作简便的目的.最近在回顾和构思shell脚本工具,后面一些文章应该会分享shell内容,希望大家继续关注. 获取磁 ...

  9. shell运行java去哪加载jar包_shell脚本启动jar包-jar文件怎么打开

    1.基于maven的springboot项目打包 2.到项目路径下对应target目录找到生成的jar 将之上传到linux系统上 3.对应shell脚本 ------脚本开始------ #!/bi ...

  10. springboot项目jar包启动脚本

    当工具用习惯了.也就懒的去关心底层的东西了.项目部署的时候,用习惯了jenkins也就不关心运维写的脚本了.但是当工具出问题,那就要从最基础的脚本来部署项目.脚本我也不太懂,在这里只是与大家一起分享启 ...

最新文章

  1. 如何使用好android的可访问性服务(Accessibility Services)
  2. 四川师范大学大学计算机基础,四川师范大学2009-2010学年计算机基础期末考试试题.doc...
  3. QCOW2 — ROW/COW 快照技术原理解析
  4. Logistic Function == Sigmoid Function
  5. 要搞清楚对象和对象的引用
  6. 高年薪的Web前端工程师经常思考哪些问题?
  7. ClickOnce部署(3):使用证书
  8. [译] 帮助你成为一名成功的 Web 开发工程师的 21 步
  9. signed 与 unsigned 有符号和无符号数
  10. vulcan 编程_如何用Next代替流星— Vulcan Next Starter简介
  11. SpringCloud与Feign
  12. Asianux将成为最先进的安全Linux操作系统
  13. 大数据如何影响企业的决策
  14. SpringBoot依赖管理,版本仲裁
  15. java练习题库_大一java题库练习题.doc
  16. JAVA 基础练习题
  17. html看图识颜色,canvas 识别图片颜色 解析图片颜色
  18. 将文件复制到临时文件夹
  19. 关于Tomcat在启动时的socket bind failed 730048 错误
  20. 事务是什么?干什么用?

热门文章

  1. 《Mars说光场》系列文章整理
  2. matlab制作数字滤波器(带通滤波器)
  3. 最大功率点跟踪测试软件,最大功率点跟踪(MPPT)
  4. 提升效率之串口监控工具
  5. 数学建模中的规划问题
  6. c语言习题 编写自定义函数 volume_c,功能是求正方体的体积(要求:正方体的的边长 a 在主函数中做输入,在主函数中调用函数 volume_c,在主函数中输出正方体体积,a 为int 型变量)。
  7. 用gambit学博弈论--完全信息动态博弈(一)
  8. Android小游戏——简单易懂单机人人对战五子棋源码详解
  9. 第10周项目1 二叉树算法库
  10. 蓝桥杯 C语言 试题 算法训练 猴子分苹果