我们在写好java项目后,一般都会将项目打成jar包,然后上传到服务器部署启动。
因此我写了一个shell脚本减少我们的工作量。
#!/bin/bash
#filename: run_jar.sh
#desc: 启动jar包,关闭jar包程序
#author: Hyy
#date: 2021-10-11
#获得输入参数
OPTION=$1
JAR=$2
#帮助函数
usage(){
echo "usage:"
echo "kafka_promotionSliceSwitch.sh [start|stop] jar"
echo " start : 启动服务"
echo " stop : 关闭服务"
echo " jar : jar包名"
}
#启动,将输出日志打印到特定路径的.log文件中,此处的“>>”是追加,如果是“>”,在日志文件切割后的文件头部出现空洞,无法显示但文件大小没有变化,所以这里用追加比较好
start(){
nohup [jdk安装路径]/java -jar [jar包路径]/${JAR} >> [你的日志文件路径].log 2>&1 &
}
#关闭,杀死jar包程序
stop(){
ps -ef|grep ${JAR}|grep java|awk '{print $2}'|xargs kill -9
}
if [ ! ${JAR} ];then
usage
echo "jar 不能为空"
elif [ ${OPTION} == "start" ];then
echo "start service..."
start
echo "started"
elif [ ${OPTION} == "stop" ];then
echo "stop service ..."
stop
else
usage
fi
每天积累一点点,积沙成塔。