jar包启停shell脚本
jar包控制脚本1
#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/test
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHO.jar
export PROG=test
function getPid {
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
} getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
echo "starting"
sleep 1
getPid
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
echo "stoping..."
sleep 1
getPid
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
echo "restarting..."
if [ $PID ];then
kill -15 $PID
sleep 3
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
sleep 1
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
fi
;;
*)
echo "Usage:{$0 start|stop|restart}"
;;
esac
exit 0
jar包控制脚本2
#!/bin/bash
export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz function getPid {
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
} getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
echo "starting..."
sleep 1
getPid
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
echo "stoping..."
sleep 1
getPid
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
echo "restarting..."
if [ $PID ];then
kill -15 $PID
sleep 2
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
sleep 1
getPid
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID"
fi
;;
check)
if [ -d $JAVA_HOME ]; then
echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
else
echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
fi
if [ -d $APP_HOME ]; then
echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
if [ -f $APP_HOME/$APP_NAME ]; then
echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
else
echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
fi
else
echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
fi
;;
log)
tail -500f $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out
;;
*)
echo "Usage:{$0 start|stop|restart|check|log}"
;;
esac
exit 0
jar包控制脚本改进(端口启停监听)
#!/bin/bash
# chkconfig: 2345 10 90
# auther by wangxp export JAVA_HOME=/u01/java_home/jdk1.8.0_181
export APP_HOME=/u01/yzsjz
export APP_NAME=mzyzsjz-server-0.0.1-SNAPSHOT.jar
export PROG=yzsjz function getPid(){
sleep 0.5
PID=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}'|awk 'NR==1'`
echo "$APP_HOME/logs/catalina.`date +%Y-%m-%d`.out" > $APP_HOME/logs/currentlog.pid
} function checkProg(){
t=0
while (($PID))
do
t=$[$t+1]
if [ $1 == "start" ];then
if [ "`ss -ntlp |grep $PID`" ]; then
echo -e "\nstarted"
PORT=`ss -ntlp |grep $PID|awk 'NR==1 {print $4}'|cut -d: -f4`
break
else
echo -ne "\rstarting...$t"
sleep 1
fi
fi
if [ $1 == "stop" ];then
if [ "`ss -ntlp |grep $PID`" ]; then
echo -ne "\rstopping...$t"
sleep 1
else
echo -e "\nstopped"
break
fi
fi
done
} if [ `whoami` == "root" ];then
getPid
case $1 in
start)
if [ ! $PID ];then
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID , PORT= $PORT"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID
getPid
checkProg "stop"
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
if [ $PID ];then
kill -15 $PID
checkProg "stop"
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
else
nohup $JAVA_HOME/bin/java -jar $APP_HOME/$APP_NAME >> $APP_HOME/logs/catalina.`date +%Y-%m-%d`.out 2>&1 &
getPid
checkProg "start"
echo -e "$PROG is \033[32mRestart\033[0m, PID = $PID , PORT= $PORT"
fi
;;
check)
if [ -d $JAVA_HOME ]; then
echo -e "$JAVA_HOME \033[32mgood JAVA_HOME\033[0m"
$JAVA_HOME/bin/java -version
else
echo -e "$JAVA_HOME \033[31mbad JAVA_HOME\033[0m"
fi
if [ -d $APP_HOME ]; then
echo -e "$APP_HOME \033[32mgood APP_HOME\033[0m"
if [ -f $APP_HOME/$APP_NAME ]; then
echo -e "$APP_NAME \033[32mgood APP_NAME\033[0m"
else
echo -e "$APP_NAME \033[31mbad APP_NAME\033[0m"
fi
else
echo -e "$APP_HOME \033[31mbad APP_HOME\033[0m"
fi
;;
log)
tailf -500 `cat $APP_HOME/logs/currentlog.pid`
;;
*)
echo "Usage:{$0 start|stop|restart|check|log}"
;;
esac
else
echo "you must use root to execute"
fi
exit 0
jar包启停shell脚本的更多相关文章
- nginx启停shell脚本
#!/bin/bash # 编写 nginx 启动脚本 # 本脚本编写完成后,放置在/etc/init.d/目录下,就可以被 Linux 系统自动识别到该脚本 # 如果本脚本名为/etc/init.d ...
- 编写Redis启停服务脚本
脚本内容如下; fi esac exit$RETVAL 下载脚本:艺搜下载 将下载下来的脚本放在/etc/init.d/目录下 更改脚本权限 chmod 777 /etc/init.d/red ...
- Redis windows版本的启停bat脚本命令
Reids windows版本安装 redis windows官网推荐:https://github.com/MicrosoftArchive/redis/releases 下载解压即可. 启停bat ...
- SpringBoot打成的jar包发布,shell关闭之后一直在服务器运行
1:可以编写shell脚本, 切换到执行的jar包目录,然后使用nohup 让改命令在服务器一直运行 #!/bin/bash cd /srv/ftp/public nohup java -jar l ...
- 使用jar命令打jar/war包、创建可执行jar包、运行jar包、及批处理脚本编写
jar 命令 jar 是一个jar.exe可执行命令,即可以生成jar文件,也可以生成war文件 使用示例:jar -cvf ../xxx.jar * -c create,创建新的归档文档 ...
- shell启停服务脚本模板
一. 启动脚本模板:符合幂等性 如果该服务已经启动,再次调用该脚本,不会报错,也就是说可以反复多次调用,另外启动成功返回 一个参数,提供给自动发布平台校验该服务是否启动 #!/bin/bash ins ...
- 编写Nginx启停服务脚本
在/etc/init.d/目录下创建脚本 vim /etc/init.d/nginx 编写脚本内容:(其中下面2行需要根据情况自行修改) nginxd=/opt/nginx/sbin/nginx ng ...
- spring boot 以jar的方式启动常用shell脚本
用spring boot框架做的项目,将第三方包全部打在jar里面,通过shell脚本启动和停止服务,常用的shell脚本模板如下: #!/bin/bashJAVA_OPTIONS_INITIAL=- ...
- 04. 启停redis服务
启动 查看redis.conf文件,可以通过general中的说明,配置通过systemd来启停redis和查看redis状态(作者没有采用,而是使用service管理,service配置参考< ...
- linux上jar包的运行
指定目录: #!/bin/bash source /etc/profile log() { echo `date +[%Y-%m-%d" "%H:%M:%S]` $1 } log ...
随机推荐
- Linux之密码生成工具pwgen
linux中生成随机字符串,可以使用pwgen 安装) ubuntu: apt-get install pwgen Centos: yum install pwgen 语法及参数) pwgen [ O ...
- Java日志手机号脱敏工具类
背景 在开发过程中,很容易将用户敏感信息,例如手机号码.身份证等,打印在日志平台.为了保护用户数据,又不影响日志的打印,需要将日志中的敏感信息进行脱敏. 效果 没看明白,强烈建议 pull项目,执行一 ...
- H5 新增表单
1.提示占位 placeholder <input type="text" name="userName" placeholder="请输入用户 ...
- 使用Docker快速部署一个Net项目
前言 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 优点 Web 应用的自动化打包和发布. 自动化测试和 ...
- sqlserver配置分发实现主备
方案总体说明 本方案采用"发布-订阅模式" 由主服务器进行发布消息,备份服务器进行订阅 当主服务器数据发生变更时,就会发布消息,备份服务器读取消息进行同步更新,中间过程延迟比较短. ...
- FCM发送测试消息(控制台和postman)
方法1 在firebase控制台新建通知 点击cloud messaging后点击新建通知 输入标题和内容,点击右边的发送测试消息,注意要在真机接收,模拟器收不到 然后添加测试令牌,测试令牌可以在ap ...
- 准备好"干翻世界"之前,不妨先听听我们的意见
期待大家的到来哦~
- arch linux deepin-wine-wechat
https://aur.archlinux.org/packages/deepin-wine-wechat md5sum for WeChatSetup-3.9.0.28.exe should be ...
- rpc-java 生成代码路径设置
<plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf- ...
- Mac下如何添加User到group中
原因: 使用mac的时候需要像linux一样对用户和群组进行操作,但是linux使用的gpasswd和usermod在mac上都不可以使用,mac使用dscl来对group和user操作. 介绍: $ ...