赞
踩
Java项目在Linux系统中的部署通常是以tomcat等容器化的方式部署,或者jar包的形式直接运行。在自动化部署畅行的今天,仍然会有不少的公司采用手动部署的方式部署 jar 包。而微服务打包形成的诸多jar,和上线前后频繁的诸多升级部署操作,让负责项目的开发运维人员叫苦不迭,因此需要一套便捷的部署脚本,实现便捷的一键启停等操作。
- ps -ef |grep 服务名
- kill -9 PID
- nohup java -jar 服务名 &
- tail -f nohup.out
以下是单个服务的一键启停,如果是多个服务的启停,可以根据以下脚本进行拓展。
- #!/bin/sh
- port=8080 #端口
- jar_name=/app/test/test-admin.jar
-
- #运行脚本提示信息
- tips(){
- echo "-------------------------------------"
- echo ""
- echo "项目端口: ${port}"
- echo "项目地址: ${jar_name}"
- echo ""
- echo "你可以使用如下参数进行操作"
- echo "-status -查看当前项目运行状态"
- echo "-log -查看当前项目运行日志"
- echo "-start -启动当前项目"
- echo "-stop -停止当前项目"
- echo "-restart -重启当前项目"
- echo ""
- echo "-------------------------------------"
- }
-
- #查看状态
- status(){
- #查询端口的PID
- pid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')
- #判断端口是否被占用
- if [ -z "${pid}" ];then
- echo "没有项目在运行"
- else
- echo "项目正在运行中"
- fi
- }
-
- #启动项目
- start(){
- pid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')
- if [ -z "${pid}" ];then
- echo "正在启动......"
- nohup java -jar $jar_name > logs/catalina.out &
- else
- echo "项目运行中或端口已被占用"
- fi
-
- }
-
- #停止项目
- stop(){
- pid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')
- if [ -z "${pid}" ];then
- echo "没有项目在运行,请先启动"
- else
- kill -9 $pid
- echo "已杀死进程为 ${pid} 的应用"
- fi
- }
-
- #重启项目
- restart(){
- pid=$( ps -ef |grep $jar_name |grep 'java -jar'|grep -v grep|awk '{print $2}')
- echo "正在杀死端口 ${port} 的pid ${pid} 中..."
- if [ -z "${pid}" ];then
- echo "项目未启动"
- else
- kill -9 $pid
- fi
- sleep 5 #睡眠五秒
- start #调用启动方法
- echo "项目重启成功!"
- }
-
- # 滚动打印日志
- printLog(){
- tail -f logs/catalina.out
- }
-
- #参数选项
- case "$1" in
- "-status")
- status
- ;;
- "-start")
- start
- ;;
- "-stop")
- stop
- ;;
- "-log")
- printLog
- ;;
- "-restart")
- restart
- ;;
- *)
- tips
- ;;
- esac
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
sed -i 's/\r$//' test.sh
chmod +x test.sh
- ./test.sh -start 启动项目
-
- ./test.sh -log 查看实时日志
-
- ./test.sh -stop 停止项目
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。