我在应用的时候就碰到过这样的情况,系统启动的时候报一大堆无法连接mysql的错误,问题就是,在mysql数据库存还没有启动的时候已经启动了一些需要连接mysql数据库的服务。这样我们就得修改启动顺序来把需要连接mysql数据库的服务放到mysql服务启动之后再启动。这样我们就得修改启动脚本。一般是在/etc/rc.d/init.d下面。主要是这部分,如下所示:
# chkconfig: 345 99 01
# description: Nagios network monitor
#
# File : nagios
其中我们要修改的就是:# chkconfig: 345 99 01 后面的数字部分
345 99 01
这三组数字到底是什么意思呢?
345代表的是系统的启动级别。
启动级别包括1,2,3,4,5,6,其中常用的是3和5。3表示文字模式启动,5表示图形界面启动。
也就是说系统在345的启动级别的时候会启动nagios服务
99 01 代表的是系统启动的时候 应用程序也就是服务的启动级别
99:表示系统启动后,每个服务的启动顺序。启动顺序是从标记为00的服务开始。通常不是特别重要的服务可以用99之后数字,如100,101。。。
01:表示系统关闭时,最先关闭的服务。
345 如果在启动脚本里出现了这组数字,那么在执行chkconfig --add nagios的时候就相当于我们执行了chkconfig --add nagios 和chkconfig --level 345 nagios on两条命令。
实践,如图:
执行chkconfig --add npcd 如图所示:
只执行了chkconfig --add npcd,结果345的状态为on了。也就是上面说的实际上相当于执行了两条命令。在这里就可以直接执行service npcd start了。
如果没有出现这组数据或者出现了-,就说明在执行完chkconfig --add npcd 后一定要执行chkcofnig --level 345 nagios on这条命令后我们才能执行service nagios start
实践:
执行chkconfig --add npcd
看到没,所有的状态都是off。这样我们就必须执行chkconfig --level 345 npcd on之后我们才能执行service npcd start命令。
下面我们来以httpd和nagios来做一下比较,看是数值大的先启动或者关闭,还是数值小的先启动或者关闭。实践出真知。
httpd的优先级如图所示(在http启动脚本里就只出现了-,前面我们已经说到过了):
nagios的优先级如图所示(nagios里就出现了前面所说的345这组数值):
99 这组数字就是系统启动的时候服务启动的优先级---数字越小,优先级越高,也就是启动的时候数值越小越先启动。如图所示:
01 这组数值就是系统关闭的时候关闭服务的优先级---数字越小,优先级越高,也就是关闭的时候数值越小越先关闭。如图所示:
实践证实,数值越小,就越先启动和关闭。
理解了这个,那在处理问题的时候就相当简单了,要不然都不知道怎么去修改那个服务的启动顺序。呵呵
chkconfig --level 345 smb on
该命令是根据/etc/init.d/smbd文件在/etc/rc.d/rc3.d/和/etc/rc.d/rc4.d/和/etc/rc.d/rc5.d/的目录下建立链接,达到在3,4,5启动级别时开机自动启动的目的。
另外:chkconfig smb on 是在所有启动级别时开机自动启动。
要想开机不启动某个服务怎么设置?~!
chkconfig smb off是在所有启动级别时开机都不自动启动。
chkconfig --level 345 smb off
是在3,4,5启动级别时开机不自动启动
阅读(2885) | 评论(0) | 转发(0) |