开机启动顺序rc.local与chkconfig的不同
/etc/rc.local文件有如下两行
/etc/init.d/mysql start
/etc/init.d/keepalived start
/etc/rc.local是按脚本的顺序一个启动后启动下一个,先启动mysql后再启动keepalived
chkconfig信息如下
[root@localhost log]# chkconfig --list |grep mysql
mysql 0: on 1: on 2: on 3: on 4: on 5: on 6: on
[root@localhost log]# chkconfig --list |grep keepalived
keepalived 0: on 1: on 2: on 3: on 4: on 5: on 6: on
[root@localhost rc3.d]# ll |grep mysql
lrwxrwxrwx 1 root root 15 Sep 14 08:36 S64mysql -> ../init.d/mysql
[root@localhost rc3.d]# ll |grep keep
lrwxrwxrwx 1 root root 20 Sep 14 08:36 S21keepalived -> ../init.d/keepalived
chkconfig是看运行级别
比如init 3的情况下,可以查看/etc/rc3.d,里面有S开头的, 就是start后面的数字就是顺序,比如21在64前面,是需要keepalived先启动的
启动顺序搞清楚了,还有一点个人理解
rc.local或chkconfig不会等上个服务启动成功后再去启动下一个服务的,而是按启动顺序把指令传给一个服务后再传给下一个服务,具体服务启动需要多久是否启动成功可就不管了
比如A启动完成需要5分钟,B启动完成需要1分钟,在rc.local或chkconfig里面A的顺序在B的前面,确实是A先启动再B启动,但可能是B先启动完成,因为B的时间短
如果不是这样的话,那前面某个服务没有启动成功,后面的服务都不会启动了,操作系统不会这么傻的