centos服务器重启后,jar包自启动

第一种方法:

systemctl服务自启动

在/usr/lib/systemd/system目录下,创建service:start_jar.servie

bash 复制代码
[Unit]
Description=Your Java Application as a Service
After=network.target
 
[Service]
User=root
Type=simple
ExecStart=/usr/bin/java -jar /data/*.jar
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

启动

bash 复制代码
配置生效:systemctl daemon-reload

启动:systemctl start start_jar.service

启停止:systemctl stop start_jar.service

自启动:systemctl enable start_jar.service

第二种方法:

编写脚本auto_start.sh加载到rc.local启动服务中

如下:自动生成脚本:auto_create.sh

bash 复制代码
#!/bin/bash
ScriptPath=/data/auto_start.sh
ScriptPathb=/data/auto_start_bak.sh
if [ -z "$1" ]; then
    echo "jar包的路径不能为空!"
	exit 1 
	
fi
if [ -f "$ScriptPath" ]; then
    echo "文件存在,需要删除!"
    cp $ScriptPath $ScriptPathb
    touch $ScriptPath	
else
    touch $ScriptPath
	echo "空脚本创建成功"

    echo "#!/bin/bash" >> $ScriptPath
	

    echo "nohup java -jar  $1 >/dev/null 2>&1 &" >> $ScriptPath
	
	echo "脚本初始化成功"

    chmod +x /data/auto_start.sh

    #vim /etc/rc.local 打开添加在最后一行。/data/auto_start.sh
	#备份:rc.local
	cp /etc/rc.local /etc/rc.local_bak
	#加载启动脚本到rc.local
    echo "$ScriptPath" >> /etc/rc.local

    chmod +x  /etc/rc.local
	
	echo "脚本添加到自启动中"

fi

执行脚本

bash 复制代码
sh auto_create.sh jar包路径
相关推荐
lzb_kkk16 天前
【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
开发语言·c++·qt·1024程序员节·qt linguist·qt 语言家
Yangy_Jiaojiao24 天前
三维手眼标定
1024程序员节
guozhetao1 个月前
【图论,拓扑排序】P1347 排序
数据结构·c++·python·算法·leetcode·图论·1024程序员节
lzb_kkk1 个月前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
lzb_kkk2 个月前
【MFC】编辑框、下拉框、列表控件
c语言·开发语言·c++·mfc·1024程序员节
lzb_kkk2 个月前
【MFC】树控件的使用详解
开发语言·c++·windows·mfc·1024程序员节
SizeTheMoment3 个月前
List介绍
1024程序员节
开利网络3 个月前
产业互联网+三融战略:重构企业增长密码
大数据·运维·服务器·人工智能·重构·1024程序员节
wei_shuo3 个月前
从数据中台到数据飞轮:实现数据驱动的升级之路
1024程序员节·数据飞轮
玖剹4 个月前
矩阵区域和 --- 前缀和
数据结构·c++·算法·leetcode·矩阵·动态规划·1024程序员节