#!/bin/bash #set -x set -e echoPrefix="\033[36m+" echoSuffix="\033[0m" logPath=/data/logs/wms8_prod_n6/wms8_prod_n6.log dirPath=/home/www/deploy/wms8_prod/wms-biz/servo/build/libs/ serverName=wms8_n6_prod cmd=$1 profiles=${2:-"prod-yn,prod-yn-n6"} #------------------------------------------------------------------- JAVA_MEM_OPTS=" -DappName=${serverName} -server -Xmx4g -Xms4g" DATABASE_OPTS=" -Ddatabase.codeset=ISO-8859-1 -Ddatabase.logging=false" JAVA_OPTS_EXT=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dapplication.codeset=UTF-8 -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai" #------------------------------------------------------------------- startServer() { pid=$1 if [ -z $pid ];then echo -e "$echoPrefix cd $dirPath../runtime_6/ $echoSuffix" cd $dirPath../runtime_6/ echo -e "$echoPrefix java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./servo-0.0.0-SNAPSHOT.jar --spring.profiles.active=global,$profiles --server.port=18106 >>/dev/null 2>&1 & $echoSuffix" java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./servo-0.0.0-SNAPSHOT.jar --spring.profiles.active=global,"$profiles" --server.port=18106 >>/dev/null 2>&1 & echo "$serverName 启动成功!" else echo "$serverName 正在运行..." fi echo "查看日志: tail -F $logPath -n 100" } stopServer() { pid=$1 if [ -z $pid ];then echo "$serverName 未运行" else echo -e "$echoPrefix ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print \$2}' | xargs kill $echoSuffix" pgrep -f "DappName=${serverName}" | xargs kill echo "$serverName 已停止!" fi } deployServer() { pid=$1 # 检查 master 节点 if [ ! -d "$dirPath../runtime" ]; then echo -e "$echoPrefix 检查master节点是否部署了: $dirPath../runtime $echoSuffix" exit fi # 重启服务 if [ ! -z $pid ];then stopServer $pid sleep 3s fi # 移动编译后的文件 echo -e "$echoPrefix cd $dirPath $echoSuffix" cd $dirPath echo -e "$echoPrefix rm -rf ../runtime_6 $echoSuffix" rm -rf ../runtime_6 echo -e "$echoPrefix cp -r ./ ../runtime_6 $echoSuffix" cp -r ./ ../runtime_6 echo "" startServer } restartServer() { pid=$1 if [ ! -z $pid ];then stopServer $pid sleep 3s fi startServer } logs() { tail -F $logPath -n 100 } pid=`ps -ef | grep "DappName=${serverName}" | grep -v 'grep' | awk '{print $2}'` # 操作参数: deploy restart start stop kill log logs if [ "$cmd" == "deploy" ];then deployServer $pid elif [ "$cmd" == "restart" ];then restartServer $pid elif [ "$cmd" == "start" ];then startServer $pid elif [ "$cmd" == "stop" ] || [ "$cmd" == "kill" ];then stopServer $pid elif [ "$cmd" == "log" ] || [ "$cmd" == "logs" ];then logs else if [ -z $pid ];then echo "$serverName 未运行 | 输入操作参数: deploy restart start stop kill log logs" else echo "输入操作参数: deploy restart start stop kill log logs" echo "pid=$pid | $serverName 正在运行... | 查看日志: tail -F $logPath -n 100" fi fi # bash <(curl -s http://git.yvanui.com/lizhiwei/jztd-deploy/raw/master/yxt-yn/prod-deploy-wms8-n6.sh) [cmd profiles]