linux启动jar服务命苦_Linux 启动jar包的脚本[启动、停止、重启等操作](生产环境可用)...

在公司应用较少,或线上环境较简单,暂未用容器编排技术仅简单以jar包形式运行的情况,且不希望部署Tomcat、Jboss、Weblogic等容器的情况下,编写常用的shell脚本来方便运维。

脚本

实现以下命令:

启动 : start

停止 :stop

重启 : restart

运行状态 :status

查看实时日志 : log

备份 : backup

备注:脚本会屏蔽部分敏感词,估针对实际情况进行修改即可使用。

脚本代码

脚本内容如下,复制修改后保存即可使用(如 : xxx.sh),脚本已有相应的注释应该好理解。

#!/bin/bash

#这里可替换为jar包名字

APP_NAME=xxx-1.0.jar

#根据实际情况修改参数

JVM="-server -Xms2g -Xmx2g -Xmn512m -XX:PermSize=128M -XX:MaxNewSize=128m -XX:MaxPermSize=25zh6m -Xss256k -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -Xloggc:/logs/xxx-server/GC/xxx-gc.log"

#APPFILE_PATH="-Dspring.config.location=/usr/local/config/application.properties"

#使用说明,用来提示输入参数

usage() {

echo "Usage: sh 执行脚本.sh [start|stop|restart|status|log|backup]"

exit 1

}

#检查程序是否在运行

is_exist(){

pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `

#如果不存在返回1,存在返回0

if [ -z "${pid}" ]; then

return 1

else

return 0

fi

}

#启动方法

start(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is already running. pid=${pid} ."

else

#nohup java $JVM -jar $APPFILE_PATH $APP_NAME > /dev/null 2>&1

#后台启动jar包,且控制环境变量,根据实际情况修改吧。

nohup java $JVM -jar $APP_NAME --spring.profiles.active=prod > /dev/null 2>&1 &

fi

}

#停止方法

stop(){

is_exist

if [ $? -eq "0" ]; then

kill -9 $pid

else

echo "${APP_NAME} is not running"

fi

}

#输出运行状态

status(){

is_exist

if [ $? -eq "0" ]; then

echo "${APP_NAME} is running. Pid is ${pid}"

else

echo "${APP_NAME} is NOT running."

fi

}

#重启

restart(){

stop

start

}

#日志

log(){

# 输出实时日志

tail -n 100 -f /logs/fdc-server/fdc-server.log

}

#备份

backup(){

#根据需求自定义备份文件路径。

BACKUP_PATH=/usr/local/webapps/backup/xxx-server/

#获取当前时间作为备份文件名

BACKUP_DATE=`date +"%Y%m%d(%H:%M:%S)"`

echo 'backup file ->'$BACKUP_PATH$BACKUP_DATE'.jar'

#备份当前jar包

cp -r /usr/local/webapps/$APP_NAME $BACKUP_PATH$BACKUP_DATE'.jar'

}

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case "$1" in

"start")

start

;;

"stop")

stop

;;

"status")

status

;;

"restart")

restart

;;

"log")

log

;;

"backup")

backup

;;

*)

usage

;;

esac

备注:脚本中“xxx”相应的位置都需要进行修改。(当然可以做成参数来控制,多项目可使用,但觉得没必要,请自行修改吧。)

运行脚本

修改完脚本后,上传到相应位置及文件权限。

查看脚本有哪些方法:

sh xxx.sh

如下图:

image.png

具体命令如下:

cd /xxxx/xxx

#启动

sh xxx.sh start

#停止

sh xxx.sh stop

#重启

sh xxx.sh restart

#运行状态

sh xxx.sh status

#查看实时日志

sh xxx.sh log

#备份

sh xxx.sh backup

至此结束,可根据自己需求去修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值