diff --git a/bin/services.sh b/bin/services.sh new file mode 100644 index 00000000..097ccbf0 --- /dev/null +++ b/bin/services.sh @@ -0,0 +1,210 @@ +#!/usr/bin/env bash + +#可变参数变量 +languageType="java" #支持 java,javac,netcore 发布 + +#参数值由pom文件传递 +packageName= #命令启动包名 xx.jar的xx + +#固定变量 +#basePath=$(cd `dirname $0`/;cd ../;pwd) +baseDirPath="${basePath}" #解压部署磁盘路径 +pid= #进程pid + +#所有模块列表 +modules=("beidou", "beidou-rtcm") + +#模块变量 +moduleName="${2}" #模块名 +modulePath= #模块路径 +packageModulePath= #打包模块路径 +biz="sec-" + +#配置文件路径 +configPath="/root/beidou/config" + +if [ "${moduleName}" == "beidou" ] +then + packageName="${biz}-${moduleName}" + modulePath="${baseDirPath}/${biz}-${moduleName}" #网关模块路径 + packageModulePath="${biz}-${moduleName}" +elif [ "${moduleName}" == "beidou-rtcm" ] +then + packageName="${biz}-${moduleName}" + modulePath="${baseDirPath}/${biz}-${moduleName}" #网关模块路径 + packageModulePath="${biz}-${moduleName}" +else + packageName="${biz}-${moduleName}" + modulePath="${baseDirPath}/${biz}-${moduleName}" #网关模块路径 + packageModulePath="${biz}-${moduleName}" +fi + +#检测pid +function getPid() +{ + echo "检测状态---------------------------------------------" + pid=`ps -ef | grep -n ${packageName}.jar | grep -v grep | awk '{print $2}'` + if [ ${pid} ] + then + echo "运行pid:${pid}" + else + echo "未运行" + fi +} + +#启动程序 +function start() +{ + #查询是否有启动进程 + getPid + if [ ${pid} ] + then + echo "程序已启动" + else + echo "启动程序---------------------------------------------" + #进入模块运行目录 + cd ${modulePath}/target/ + + nohup java -Dfile.encoding=utf-8 -Xms128m -Xmx256m -jar ${packageName}.jar --spring.config.location=${configPath}/application-${moduleName}.properties --logging.config=${configPath}/logback-${moduleName}.xml >/dev/null 2>&1 & + + #查询是否有启动进程 + getPid + if [ ${pid} ] + then + echo "已启动" + else + echo "启动失败" + fi + fi +} + +#停止程序 +function stop() +{ + getPid + if [ ${pid} ] + then + echo "停止程序---------------------------------------------" + kill -15 ${pid} + echo -n "停止中" + + counter=0 + while [ $counter -lt 1 ] + do + #getPid + pid=`ps -ef | grep -n ${packageName}.jar | grep -v grep | awk '{print $2}'` + if [ ${pid} ] + then + #停止失败 + echo -n "..." + else + break + fi + + sleep 2s + done + echo "success" + fi +} + +#检查包名参数 +function checkParam() +{ + if [ ${moduleName} ] + then + echo -n "" + #echo "packageName:${packageName}" + else + echo "模块名参数未输入" + echo "所有模块列表:" + for modules in ${modules[@]} + do + echo -n $modules + done + echo " " + exit + fi +} + +#启动时带参数,根据参数执行 +if [ ${#} -ge 1 ] +then + case ${1} in + "start") + checkParam + start + ;; + "stop") + checkParam + stop + ;; + "restart") + checkParam + stop + start + ;; + "status") + checkParam + ps -ef | grep -n ${packageName}.jar | grep -v grep + ;; + "log") + checkParam + tail -n 50 -f ${configPath}/logs/${moduleName}.log + ;; + "info") + ps aux | grep java | grep -E 'runjian|rundo|admin' | grep -v grep + ;; + "killall") + echo "杀掉所有模块进程" + ps -ef | grep sec | grep -v grep | awk '{print $2}' | xargs kill -15 + ;; + "info") + ps aux | grep java | grep -E 'sec' | grep -v grep + ;; + "package") + checkParam + cd ${baseDirPath} + echo "打包单个模块" + mvn clean package -pl ${packageModulePath} -am -D"maven.test.skip=true" + ;; + "packageAll") + echo "打包所有模块" + cd ${baseDirPath} + mvn clean package -D"maven.test.skip=true" + ;; + "update") + checkParam + echo "更新代码并重新部署" + cd ${baseDirPath} + git pull + mvn clean package -pl ${packageModulePath} -am -D"maven.test.skip=true" + stop + start + ;; + *) + echo "${1}无任何操作" + ;; + esac +else + echo " + command如下命令: + start:启动 + stop:停止进程 + restart:重启 + status:查看模块状态 + log:查看模块日志 + info:查看所有模块进程 + killall:杀掉所有模块进程 + package:打包单个模块 + packageAll:打包所有模块 + update: 更新代码并部署 + + 示例命令如:./services.sh start beidou + 所有模块列表:" + echo -n " " + for modules in ${modules[@]} + do + echo -n $modules + done + echo " " +fi diff --git a/sec-beidou-rtcm/pom.xml b/sec-beidou-rtcm/pom.xml index 6c7a8c07..9fe3da97 100644 --- a/sec-beidou-rtcm/pom.xml +++ b/sec-beidou-rtcm/pom.xml @@ -134,7 +134,7 @@ - sideslope-rtcm-server + ${project.artifactId} org.springframework.boot diff --git a/sec-beidou/pom.xml b/sec-beidou/pom.xml index e4268982..10bd9b9c 100644 --- a/sec-beidou/pom.xml +++ b/sec-beidou/pom.xml @@ -147,6 +147,7 @@ + ${project.artifactId} org.springframework.boot