Linux jar包启动、停止、查看状态 快捷脚本

在将Java项目部署到服务器上后,为了简化操作和提高效率,我们可以借助一个命令脚本来快速启动、停止和查看项目。这样可以避免反复执行繁琐的命令,提高开发效率。

直接上脚本
#!/bin/sh
port=8899 #定义变量等号左右不能有空格
jar_name=/home/project/PG/testPg.jar
log_path=/home/project/PG/log/`date +%y%m%d`_testPg.log
 
#运行脚本提示信息
tips(){
    echo "-------------------------------------"
    echo ""
    echo "项目端口: ${port}"
    echo "项目地址: ${jar_name}"
    echo ""
    echo "你可以使用如下参数进行操作"
    echo "-status -查看当前项目运行状态"
    echo "-start  -启动当前项目"
    echo "-stop  -停止当前项目"
    echo "-restart -重启当前项目"
    echo ""
    echo "-------------------------------------"
}
 
#查看状态
status(){
    #查询端口的PID {print $7}-取出打印的第七个值
    pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
    #判断端口是否被占用
    if [ -z "${pid}" ];then
        echo "没有项目在运行"
    else
        echo "项目正在运行中"
    fi
}
 
#启动项目
start(){
    pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
    if [ -z "${pid}" ];then
        echo "正在启动......"
        nohup nohup java -jar /home/project/PG/testPg.jar > $log_path 2>&1 &
    else
        echo "项目运行中或端口已被占用"
    fi
 
}
 
#停止项目
stop(){
    pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
    if [ -z "${pid}" ];then
        echo "没有项目在运行,请先启动"
    else
        kill -9 $pid
        echo "已杀死端口为 ${port} 的应用"
    fi
}
 
#重启项目
restart(){
    pid=`netstat -apn |grep $port |awk '{print $7}' |cut -d/ -f 1`
    echo "正在杀死端口 ${port} 的pid ${pid} 中..."
    if [ -z "${pid}" ];then
        echo "项目未启动"
    else
        kill -9 $pid
    fi
    sleep 5 #睡眠五秒
    start  #调用启动方法
    echo "项目重启成功!"
}
 
#参数选项
case "$1" in
    "-status")
     status
     ;;
    "-start")
     start
     ;;
    "-stop")
     stop
     ;;
    "-restart")
     restart
     ;;
    *)
     tips
     ;;
esac

将上述命令脚本保存为`.sh`后缀文件,放置在与`jar`包同级目录,并赋予可执行权限,然后通过运行脚本来启动项目。

 简单好用。

部署发布常用命令:

1. 查看当前端口占用:

 netstat -anp | grep 8899

使用`netstat`命令查看当前端口的占用情况,过滤出指定端口(例如8899)的监听进程。

2. 启动项目:

java -jar -Dserver.port=8899 module-admin.jar

使用`java -jar`命令启动Java项目,通过`-Dserver.port`参数指定端口号(例如8899)。

3. 查看日志(最新100行):

tail ccc.log -n 100

使用`tail`命令查看指定日志文件(例如ccc.log)的最新100行数据。

4. 备份文件:


   - 备份后台jar文件:

cp -r /home/project/test/module-admin.jar /home/project/test/back/20230713module-admin.jar

使用`cp`命令将后台jar文件复制到指定的备份文件夹路径,以日期作为备份文件名。


   - 备份前台页面:

cp -r /home/project/test/adminUI /home/project/test/back/20230713adminUI

 使用`cp`命令将前台页面复制到指定的备份文件夹路径,以日期作为备份文件夹名。

5. 还原备份:


   - 还原后台文件:

cp -r /home/project/test/back/202307130module-admin.jar /home/project/test/module-admin.jar

  使用`cp`命令将指定的后台备份文件覆盖当前文件。


   - 还原前台页面:

cp -r /home/project/test/back/20230713adminUI /home/project/test/adminUI

 使用`cp`命令将指定的前台备份文件夹覆盖当前文件夹。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值