Linux系统(centos7)增加一个开机自启任务
任务背景
已经上线了一个java的springboot项目,使用start.sh脚本进行启动,脚本内容为:
#!/bin/bash
nohup java -jar /opt/javaProject/PracticeSpring-0.0.1-SNAPSHOT.jar > /opt/javaProject/run.log 2>&1 &
现在,需要他在启动的时候,自动加载这个脚本,完成服务自动启动!
此处的start.sh需要有可执行权限! chmod +x start.sh
任务解析
采用 systemctl的方式,增加一个配置文件,给配置文件增加自启动权限,服务就可以开机自启了!
任务设置
1.新建一个web.service文件,并写入如下内容:
web.service的路径为:/etc/systemd/system/web.service
注意:web.service中的web名称是自定义的,不要与现有的重复即可
[Unit]
Description=java web
[Service]
Type=forking
ExecStart=/opt/javaProject/start.sh
[Install]
WantedBy=multi-user.target
脚本说明:
Description是这个任务的描述,写点相关的方便识别
ExecStart是你要执行的脚本路径,脚本内容在上面,是一个后台任务
2.给web.service增加可执行权限:
chmod +x /etc/systemd/system/web.service
3.设置服务自启:
systemctl enable web.service
4.启动服务:
systemctl start web.service
此时,如果没有报错的话,任务就正常启动了,可以重启服务器试试!
如果没有报错,但是服务没有正常启动的话,可以使用命令 journalctl -u web.service 来查看日志输出,修改了service配置文件后,使用 systemctl daemon-reload 来重载配置