| 关键词: 服务 级别 运行 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/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|