CentOS 通用脚本处理jar包程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 通用脚本处理jar包程序相关的知识,希望对你有一定的参考价值。
参考技术A 不同应用只需要修改AppName参数内容即可实现jar包的启动,停止,重启启动:./newapp.sh start
停止:./newapp.sh stop
重启:./newapp.sh restart
shell脚本newapp.sh管理jar包内容如下(不同应用只需要修改AppName参数内容和APP_HOME参数路径,以及相应的日志文件的路径):
#!/bin/sh
# ./ry.sh start 启动 stop 停止 restart 重启 status 状态
AppName=ruoyi-admin.jar
# JVM参数
JVM_OPTS="-Dname=$AppName -Duser.timezone=Asia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"
APP_HOME=`pwd`
LOG_PATH=$APP_HOME/logs/$AppName.log
if [ "$1" = "" ];
then
echo -e "33[0;31m 未输入操作名 33[0m 33[0;34m start|stop|restart|status 33[0m"
exit 1
fi
if [ "$AppName" = "" ];
then
echo -e "33[0;31m 未输入应用名 33[0m"
exit 1
fi
function start
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk 'print $2'`
if [ x"$PID" != x"" ]; then
echo "$AppName is running..."
else
nohup java $JVM_OPTS -jar $AppName > /data/ruoyi/nohup 2>&1 &
echo "Start $AppName success..."
fi
function stop
echo "Stop $AppName"
PID=""
query
PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk 'print $2'`
query
if [ x"$PID" != x"" ]; then
kill -TERM $PID
echo "$AppName (pid:$PID) exiting..."
while [ x"$PID" != x"" ]
do
sleep 1
query
else
echo "$AppName already stopped."
fi
function restart
stop
sleep 2
start
function status
PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
if [ $PID != 0 ];then
echo "$AppName is running..."
else
echo "$AppName is not running..."
fi
case $1 in
start)
start;;
stop)
stop;;
restart)
restart;;
status)
status;;
*)
esac
Centos7 自己写了一个java程序的jar包,需要写一个脚本,然后设置成开机自启动,应该怎么做?
因为程序需要连接数据库,数据库是自启动的,所以必须在mysql后启动
sh脚本后台运行jar包
第一步: chmod+x /etc/rc.local
第二步:把你要开机启动的脚本加到这个文件最后。保存就可以了
没错,就这么简单,哈哈,好运 参考技术A
一、chkconfig方式:
示例脚本名:autoStart.sh
1、脚本放到/etc/rc.d/init.d下面
2、给予执行权限 chmod +x autoStart.sh
3、添加自启chkconfig --add autoStart.sh
4、设置自启chkconfig autoStart.sh on
二、systemctl方式(contos7推荐):
示例脚本名:autoStart.sh,示例服务名:autoStart.service
1、编写脚本文件:vim autoStart.sh
#!/bin/bash#chkconfig:2345 10 90
#description:sh test
#需求的java环境引入
export JDK_HOME=/application/jdk
export JAVA_HOME=/application/jdk
#下面是开机启动实际需要做的功能,示例为启动rocketmq的namesrv
sh /application/rocketmq-all-4.1.0/bin/mqnamesrv &
2、编写service文件:vim autoStart.service,ExecStart指定好运行脚本的路径
Description=rqnamesrv
After=network.target
[Service]
Type=forking
ExecStart=/autoStart.sh
ExecReload=
ExecStop=
PrivateTmp=true
[Install]
WantedBy=multi-user.target
3、给脚本授予执行权限:chmod +x autoStart.sh
4、用mv命令将service文件放到/usr/lib/systemd/system目录下并赋予执行权限:chmod +x autoStart.service
5、到/usr/lib/systemd/system路径下执行命令systemctl enable autoStart.service;
6、使用 systemctl is-enabled autoStart.service查看服务是否是自启,如果现实enabled则已添加为自启
7、重启shutdown -r now,重启之后使用命令systemctl status autoStart.service 查看服务启动情况,如果现实active(running)则表示自启成功,服务正在运行
以上是关于CentOS 通用脚本处理jar包程序的主要内容,如果未能解决你的问题,请参考以下文章