#!/bin/bash
execName=$1
evnName=$2
ps -ef|grep application-service*
echo -e "\n---------------------------------------------------------------------------------------------------------------------------------------\n"
echo -e `date +%y%m%d%H%M%S`":---------输入的执行的命令:"$execName",执行的环境:"$evnName"---------\n";
echo -e `date +%y%m%d%H%M%S`":---------输入的执行的命令:"$execName",执行的环境:"$evnName"---------\n" >> startserver.log;
if [ "$execName" == "" ] || [ "$evnName" == "" ];then
echo -e `date +%y%m%d%H%M%S`"---------请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!---------\n";
echo -e `date +%y%m%d%H%M%S`"---------请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!---------\n" >> startserver.log;
else
serverPid=`ps -ef|grep application-service*.jar|grep $evnName|awk '{ print $2 }'`
if [ "$execName" == "start" ] || [ "$execName" == "restart" ];then
if [ "$evnName" == "dev" ] || [ "$evnName" == "test" ] || [ "$evnName" == "uat" ] || [ "$evnName" == "bef" ] || [ "$evnName" == "prod" ];then
if [ "$serverPid" != "" ]; then
echo -e `date +%y%m%d%H%M%S`"---------当前application-service:"$evnName"服务 id:"$serverPid",开始关闭服务---------\n";
echo -e `date +%y%m%d%H%M%S`"---------当前application-service:"$evnName"服务 id:"$serverPid",开始关闭服务---------\n" >> startserver.log;
kill -9 $serverPid
fi
echo -e `date +%y%m%d%H%M%S`"---------开始启动:"$evnName"环境!---------\n";
echo -e `date +%y%m%d%H%M%S`"---------开始启动:"$evnName"环境!---------\n" >> startserver.log;
java -server -Xmx512M -Xms512M -Xmn200M -XX:PermSize=256M -XX:MaxPermSize=256M -Xss256k -Xloggc:gc.log -jar application-service-0.0.1-SNAPSHOT.jar --spring.cloud.bootstrap.name=bootstrap-$evnName >app.log &
serverStartPid=`ps -ef|grep application-service*.jar|grep $evnName|awk '{ print $2 }'`
if [ "serverStartPid" != "" ];then
echo -e "\n"
echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverStartPid",服务启动成功!---------\n";
echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverStartPid",服务启动成功!---------\n" >> startserver.log;
else
echo -e "\n"
echo -e `date +%y%m%d%H%M%S`"---------服务启动失败,请手动启动!---------\n";
echo -e `date +%y%m%d%H%M%S`"---------服务启动失败,请手动启动!---------\n" >> startserver.log;
fi
else
echo -e "---------请输入正确的环境参数,例如:dev 或者 test 或者 uat 或者 bef 或者 prod---------\n";
echo -e "---------请输入正确的环境参数,例如:dev 或者 test 或者 uat 或者 bef 或者 prod---------\n" >> startserver.log;
fi
elif [ "$execName" == "stop" ]; then
if [ "$serverPid" == "" ]; then
echo -e `date +%y%m%d%H%M%S`"---------服务没有启动,无需停止!---------\n";
echo -e `date +%y%m%d%H%M%S`"---------服务没有启动,无需停止!---------\n" >> startserver.log;
else
kill -9 $serverPid
echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverPid"服务停止成功!---------\n";
echo -e `date +%y%m%d%H%M%S`"---------PID:"$serverPid"服务停止成功!---------\n" >> startserver.log;
fi
else
echo -e `date +%y%m%d%H%M%S`"---------参数错误,请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!\n---------";
echo -e `date +%y%m%d%H%M%S`"---------参数错误,请输入正确的命令参数[ 执行的命令,执行的环境 ],例如:start dev 或者 restart dev 或者 stop dev!\n---------" >> startserver.log;
fi
fi
echo -e "---------------------------------------------------------------------------------------------------------------------------------------\n"
ps -ef|grep application-service*
Shell脚本启动Java服务
原创
©著作权归作者所有:来自51CTO博客作者qq58352d30d8143的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Oracle将字符串转换为行
下一篇:Oracle中复制表
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
jenkins通过脚本启动java应用
本文简单简单介绍怎么通过jenkins来调用shell脚本启动java脚本。
html/xml shell