首页 运维 Linux 查看内容

Linux中通过ln软连接设置服务开机自启动的原理

2019-3-3 12:27 |来自: 互联网 2897 0

摘要: Linux中通过ln软连接的方式设置服务开机自启动有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务。例如:Tomcat、MySQL、Redis、MongoDB服务等等。不用再人工的手动开启这些服务,这样比较繁琐。下面 ...
关键词: 服务 级别 运行 kingdom 脚本 rc root etc startup Linux

Linux中通过ln软连接的方式设置服务开机自启动

有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务。

例如:Tomcat、MySQL、Redis、MongoDB服务等等。

不用再人工的手动开启这些服务,这样比较繁琐。

下面我们简单的介绍一下通过ls软连接的方式设置服务开机自启动

提示:

以下操作设计到Linux的运行级别概念。

请参数--->浅谈Linux系统中的7种运行级别。

1、ln -s[多用于自定义脚本]

在Linux中有7种运行级别

每种运行级别分别对应着/etc/rc.d/rc[0~6].d这7个目录。

每个目录下分别存放着对应运行级别加载时需要关闭或启动的服务。

由详细信息可知,其实每个脚本文件都对应着/etc/init.d/目录下服务。

如下图:

运行级别0 1 2 3 4 5 6对应的目录rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d

[root@kingdom rc.d]# cd /etc/rc.d/

[root@kingdom rc.d]# ll

以级别3为例:

[root@kingdom rc.d]# cd rc3.d/

[root@kingdom rc3.d]# ls

//当运行级别在3时,开机会执行rc3.d/下的链接文件

//以此来实现开机启动某些服务

//如下几个是我们常见的服务

//S表示(start) K(kill),数字表示优先级

S10network S55sshd S64mysqld S60vsftpd

总结一句

因此,当我们需要开机启动自己的脚本时。

只需要将可执行脚本扔在/etc/init.d目录下。

然后在/etc/rc.d/rc[0~6].d中建立软链接即可。

案例:以Tomcat服务为例

[root@kingdom bin]# cd /general/tomcat-8.5-base/bin/

[root@kingdom bin]# ll

[root@kingdom bin]# cp startup.sh /etc/init.d/

[root@kingdom bin]# cd /etc/init.d/

[root@kingdom init.d]# ls

//此处startup.sh是具体服务的脚本文件

//S90startup.sh是其软链接,S(start)开头代表加载时自启动

//rc3.d 为级别3

//需要在多个运行级别下设置自启动,则需建立多个软链接

ln -s /etc/init.d/startup.sh /etc/rc.d/rc3.d/S90startup.sh

ll

总结:

如果需要在多个运行级别下设置自启动,则需建立多个软链接。

这种方式比较繁琐,适用于自定义的服务脚本。

如果系统中已经存在某些服务,如:httpd、mysqld、docker等等

请参考--->浅谈Linux中通过chkconfig来设置服务开机自启动

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

本文出处: https://www.toutiao.com/a6664005208105812491/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部