以禅道为例设置开机自启动

一、CentOS7设置自定义开机启动,添加自定义系统服务
Centos 系统服务脚本目录:
/usr/lib/systemd/
有系统(system)和用户(user)之分,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
lib/systemd/system/
反之,用户登录后才能运行的程序,存在用户(user)里,服务以.service结尾。
这边以zentao开机运行为例:
1.建立服务文件
1、vim /lib/systemd/system/zentao.service
文件内容如下:

[Unit]
Description=zentao
After=network.target

[Service]
Type=forking
ExecStart=/opt/zbox/zbox start
ExecReload=/opt/zbox/zbox restart
ExecStop=/opt/zbox/zbox stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

以754的权限保存在目录,如果ll -a 查看权限不够,请对该文件添加权限,具体如下:
chmod u+x 文件名
例如:chmod u+xrw zentao.service
备注:u:所有者, g:所属组,o:其他人,a:所有;
+:添加权限,-减少权限,=直接赋值成这个权限
r ---------- 4
w --------- 2
x ---------- 1
rwxrw-r–
7 6 4
三个一组,rwx权限分别对应421相加得7,rw-对应42相加,r–对应4

当然也可这样赋权:

chmod 754 zentao.service

文件内各行参数说明:

[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户

3.查看一下服务状态
命令:systemctl status zentao.service

3.设置开机自启动
命令:systemctl enable zentao.service
设置完之后 查看一下服务状态
命令:systemctl status zentao.service
4.其他命令

启动zentao服务:systemctl start zentao.service
设置开机自启动:systemctl enable zentao.service
停止开机自启动:systemctl disable zentao.service
查看服务当前状态:systemctl status zentao.service
重新启动服务:systemctl restart zentao.service
查看所有已启动的服务:systemctl list-units --type=service

===========================================================================================================
另一种方法:

etc/rc.local 中添加 /opt/zbox/zbox start
变更权限 chmod 775 /ext/rc.d/rc.local
注意:/etc/rc.local 这个目录下的rc.local文件是个链接文件,实际该文件是在/ext/rc.d/目录下,所以赋权时要找到原文件。

然后reboot重启机器试试吧!

posted @ 2022-07-30 17:05  donghongchao  阅读(1051)  评论(0编辑  收藏  举报