您的位置:首页 > 运维架构 > Linux

Linux /etc/rc.d 下面 rc${runlevel}.d rc.local init.d 区别

2016-03-05 17:49 411 查看
一:init.d 

init.d 存放的是各种系统跟多服务的开始停止脚本等,/etc/init.d 是 /etc/rc.d/init.d 的软链接。

二:/rc.d/rc${runlevel}.d  这里面也是些脚本,放在这儿的脚本都是根据运行级别来确定的,以K开始的表示STOP 动作,以S开始的表示Start动作

三:rc.local

系统根据运行级别(runlevel)启动完rc${runlevel}.d 里面的脚本时候,就会调用rc.local脚本,无论什么级别都会执行,而不必区分runlevel=3 还是 runlevel=5

例1: 以Apache 为例子,将apachectl 作为一个服务:

cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd

ln -s /etc/rc.d/init.d/httpd /etc/rc.d/rc3.d/S60httpd (60)代表启动顺序

这时候service httpd start|stop|restart 已经可以生效了,但是chkconfig --list 并没有看到我所添加的httpd服务,那是因为我们还没有把这个服务交给chkconfig来管理,所以chkconfig 还需要添加httpd服务才行,那么怎么加,又有什么要求呢?chkconfig --add httpd, 但是需要httpd的脚本需要有一些必要的信息才行。

# chkconfig: 35 60 60 (35 表示运行级别 3 和 5 第一个60 表示开始启动序号 第二个60表示关闭序号)

# description: Apache

编辑完毕之后,保存。 然后执行 chkconfig --add httpd

然后chkconfig --list 就可以看到httpd了。

例2: 以Apache为例,作为自启动服务

echo "./usr/local/apache/bin/apachectl start" >> /etc/rc.d/rc.local

这样每次重启也可以实现httpd自动。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: