给大家分享一份关于jar包项目的sheel脚本文件,启动、停止、重启以及查看状态。 我觉得这个脚本写得很不错,直接把jar包上传到服务器,然后把脚本上传到同一目录下。
- 启动方法:app.sh start 会自动生成catalina.log(文件名称可以自行修改脚本) 文件可供查阅日志
- 查阅实时日志方法:tail -f catalina.log
- 停止方法:app.sh stop 会杀掉当前目录下的服务进程
- 重启方法:app.restart 平滑重启服务
- 查询状态:app.status
ps:app.sh(是文件名,可以自行修改。)
app.sh代码如下:
#!/bin/bash
## blog:www.cnbuilder.cn
## create 2019-04-30
version="5.2.1";
appName=$2
if [ -z $appName ];then
appName=`ls -t |grep .jar$ |head -n1`
fi
## 后台启动项目 自动生成 catalina.log日志文件
function start()
{
count=`ps -ef |grep java|grep $appName|wc -l`
if [ $count != 0 ];then
echo "Maybe $appName is running, please check it..."
else
echo "The $appName is starting..."
nohup java -jar ./$appName -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Xms512M -Xmx4G > catalina.log 2>&1 &
fi
}
## 停止项目
function stop()
{
appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
if [ -z $appId ];then
echo "Maybe $appName not running, please check it..."
else
echo "The $appName is stopping..."
kill $appId
fi
}
##重启项目(平滑启动)
function restart()
{
# get release version
releaseApp=`ls -t |grep .jar$ |head -n1`
# get last version
lastVersionApp=`ls -t |grep .jar$ |head -n2 |tail -n1`
appName=$lastVersionApp
stop
for i in {5..1}
do
echo -n "$i "
sleep 1
done
echo 0
backup
appName=$releaseApp
start
}
function backup()
{
# get backup version
backupApp=`ls |grep -wv $releaseApp$ |grep .jar$`
# create backup dir
if [ ! -d "backup" ];then
mkdir backup
fi
# backup
for i in ${backupApp[@]}
do
echo "backup" $i
mv $i backup
done
}
## 查看项目当前状态
function status()
{
appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
if [ -z $appId ]
then
echo -e " 33[31m Not running 33[0m"
else
echo -e " 33[32m Running [$appId] 33[0m"
fi
}
function usage()
{
echo "Usage: $0 {start|stop|restart|status|stop -f}"
echo "Example: $0 start"
exit 1
}
case $1 in
start)
start;;
stop)
stop;;
restart)
restart;;
status)
status;;
*)
usage;;
esac
有什么问题可以联系一下我。
鼓励作者写出更好的技术文档,就请我喝一瓶哇哈哈哈哈哈哈哈。。你们的赞助决定我更新的速度哦!
提前祝大家五一劳动节快乐。
微信:
支付宝:
感谢一路支持我的人。。。。。
Love me and hold me
QQ:69673804(16年老号)
EMAIL:itw@tom.com
友链交换
如果有兴趣和本博客交换友链的话,请按照下面的格式在评论区进行评论,我会尽快添加上你的链接。
网站名称:KingYiFan’S Blog
网站地址:http://blog.cnbuilder.cn
网站描述:年少是你未醒的梦话,风华是燃烬的彼岸花。
网站Logo/头像: [头像地址](https://blog.cnbuilder.cn/upload/2018/7/avatar20180720144536200.jpg)
2019