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包路径
相关推荐
小白黑科技测评15 分钟前
2025 年视频去水印工具实测:擦擦视频双版本解析一键去字幕与多格式兼容能力
java·人工智能·音视频·智能电视·1024程序员节
@曾记否39 分钟前
【Betaflight源码学习】之初始化函数(init.c)
1024程序员节
Eiceblue1 小时前
Python 快速提取扫描件 PDF 中的文本:OCR 实操教程
vscode·python·ocr·1024程序员节
APIshop1 小时前
淘宝/天猫 API 接口深度解析:商品详情获取与按图搜索商品(拍立淘)实战指南
python·1024程序员节
hazy1k2 小时前
51单片机基础-ADC模数转换
stm32·单片机·嵌入式硬件·51单片机·1024程序员节
eddy-原2 小时前
运维自动化与监控体系综合实践作业
运维·自动化·1024程序员节
瀚高PG实验室4 小时前
Linux环境下编译C语言使用libpq连接瀚高数据库
1024程序员节·瀚高数据库
minji...5 小时前
算法题 逆波兰表达式/计算器
数据结构·c++·算法·1024程序员节
koo36411 小时前
李宏毅机器学习笔记31
1024程序员节
开发者小天11 小时前
调整为 dart-sass 支持的语法,将深度选择器/deep/调整为::v-deep
开发语言·前端·javascript·vue.js·uni-app·sass·1024程序员节