Chinaunix首页 | 论坛 | 博客
  • 博客访问: 84511
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 244
  • 用 户 组: 普通用户
  • 注册时间: 2013-05-06 09:23
个人简介

。。。。

文章分类
文章存档

2014年(2)

2013年(14)

我的朋友

分类: LINUX

2013-09-24 09:50:07

我在应用的时候就碰到过这样的情况,系统启动的时候报一大堆无法连接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) |
0

上一篇:lftp命令

下一篇:inux下iftop安装使用

给主人留下些什么吧!~~