免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2773 | 回复: 5
打印 上一主题 下一主题

[系统管理] /etc/rc.d/rc5 下的脚本执行问题 [复制链接]

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-15 12:53 |只看该作者 |倒序浏览
自己写的加载模块的脚本
OS runlevel 为 5

因为它们都链接到 /etc/init.d/dummy 下的脚本
dummy 脚本里面 start 会创建一个标识文件,stop 也会创建另一个标识文件
OS reboot 后,有 start 创建的标识文件而没有 stop 的

发现
/etc/rc.d/rc5.d/S* 在系统开机的时候会执行
/etc/rc.d/rc5.d/K* 在系统关机的时候不会执行


不知道这种问题从哪里下手?

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
2 [报告]
发表于 2015-07-15 21:08 |只看该作者
本帖最后由 lyhabc 于 2015-07-15 21:10 编辑

K和S后面的数字是多少
rc      rc1.d  rc3.d  rc5.d  rc.local          (rc0~6为运行级别脚本,启动或关闭的控制文件,S启动,K关闭,启动或关闭顺序S后面的数字越小、优先级越高)

怀疑是其中一个脚本执行失败,后续脚本不执行了

论坛徽章:
24
天蝎座
日期:2014-05-13 18:05:59IT运维版块每日发帖之星
日期:2015-11-26 06:20:00操作系统版块每月发帖之星
日期:2015-12-02 14:57:54IT运维版块每月发帖之星
日期:2016-01-07 23:01:56IT运维版块每周发帖之星
日期:2016-01-07 23:04:2615-16赛季CBA联赛之青岛
日期:2016-01-23 07:58:272016猴年福章徽章
日期:2016-02-18 15:30:3415-16赛季CBA联赛之北控
日期:2016-03-23 14:20:06IT运维版块每日发帖之星
日期:2016-04-01 06:20:0015-16赛季CBA联赛之吉林
日期:2016-06-28 13:51:54IT运维版块每日发帖之星
日期:2016-07-01 06:20:00IT运维版块每日发帖之星
日期:2015-11-23 06:20:00
3 [报告]
发表于 2015-07-16 18:19 |只看该作者
本帖最后由 woxizishen 于 2015-07-16 18:24 编辑

仔细看完我下面的内容,你就明白了。小伙你就当恶补下基础知识吧,下面是以增加启动服务为介绍,和你增加启动脚本是一样一样的。


1.启动级别介绍
Linux一共有7个运行级别,用数字从0-6来标示.首先我们介绍这几个运行级别用途
0      这个就是关机 (千万不可设这个级别,否则无法启动啦)
1      这个是单用户级别(你就当做是windows的安全模式来理解,这个级别模式启动的linux是没有网络的,这个模式下一般我们系统启动异常时候用来维护的模式,单用户有个特别好的就是你root密码忘记了,进入这个模式就可以直接修改,因为单用户默认就是以管理员root进入)
2      多用户文本模式级别(与3级相比nfs默认不开启,当然我们可以手动开启)
3      带网络的多用户文本模式级别
4      预设系统未用,保留给用户自定义级别
5.      X11 图形模式级别,他和级别3比起来最重要的就是多了图形而已。
6      重启计算机 (千万不可设这个级别,否则无限重启)


2.各运行级别启动脚本详解
存放到/etc目录下有以下rc0.d和rc1.d…rc6.d  7个目录,他们分别代表不同的启动运行级别(rc0.d代表关机级别rc6.d代表重新启动级别),
在这些不同级别目录下又会分为以S(start启动)+数字+服务名称和K(kill杀死)+数字+名称的脚本文件。这里数字就是代表启动顺序,init 从低(0)运行级向高(3)运行级切换时,数字越小越先启动,运行所有以S开头的脚本,当init从(3)高运行级向低(0)运行级切换时,数字越大越先启动,运行所有以K开头的脚本,如果是正常开机启动,则是只运行以S开头的脚本。
从这里可以看出,难道我们增加一个开机启动的服务,就要手动在不同级别的目录下手动建立启动脚本文件,想想就知道有多麻烦了。不过RHEL有提供了一个命令来管控这些脚本,那就是chkconfig



3 启动运行级别脚本管理chkconfig
chkconfig 有五项功能:添加服务,删除服务,改变启动信息以及检查特定服务的启动状态
语法为:      
     chkconfig  --list  name     检查该服务在各个级别运行状态
     不加名称,则是检查所有服务在各个级别运行状态。
     chkconfig  --add  name     添加服务
     chkconfig  --del  name      删除服务
     chkconfig [--level levels] name  自定义服务启动级别状态

范例:检查本机所有系统服务启动脚本各个运行级别开启状态
Chkconfig --list

检查本机特定系统服务启动脚本各个运行级别开启状态
Chkconfig  --list named
named        0ff   1ff   2ff   3ff   4ff   5ff   6ff

  改变各运行级别启动状态。
chkconfig  --level 345 named on
0ff   1ff   2ff   3:on    4:on    5:on    6:off


添加服务的启动脚本
第一步:建立启动脚本文件
cd /etc/rc.d/init.d/           (该路径是放置所有系统服务的管理脚本,必须放置这里)
touch abc
一般root下建立的文件没有执行权限还需要给予执行权限
Chmod +x abc
Vi abc
#chkconfig: 2345 20 80              设置启动级别,启动优先权,关闭优先权
(注:啟動級別那個2345,通常都會被省略掉不寫)
#description: this is start openldap scripts   设置描述信息,自己任意打。
以上2行参数必须设定否则chkconfig是无法将该文件加入服务,没有为什么格式就是这样定的。
/usr/local/abc              这个就是启动abc的服务,根据自己安装路径设定。
(这里设定ok后,使用chkconfig –add 添加后,会自动将abc文件复制到你设定的4个级别里,也就是会复制abc文件到/etc/rc.d/rc2.d或/etc/rc.d/rc3.d或/etc/rc.d/rc4.d或/etc/rc.d/rc5.d里。名称都为S20abc。除此之外还会生成一个K80abc到/etc/rc.d/rc6.d/目录下,其实整个就是复制你建立的abc里面的内容。
S20abc ,S代表启动,20代表优先级,abc就是你chkconfig –add服务的名称。
)

或者直接拿现成的脚本文件复制到/etc/rc.d/init.d/目录下

第二步:添加服务/设定启动运行级别
chkconfig --add abc              添加名称abc服务
chkconfig --level 345 abc on       自定义abc服务运行级别状态为开启


第一步:立即启动服务
Service abc start


论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
4 [报告]
发表于 2015-07-20 09:45 |只看该作者
回复 2# lyhabc


还没注意这方面的问题
感觉一个脚本失败,应该不会影响到其他脚本的运行

假如有这样的问题,如何找出是哪个脚本失败呢?

论坛徽章:
3
操作系统版块每日发帖之星
日期:2015-08-13 06:20:00IT运维版块每日发帖之星
日期:2015-09-04 06:20:00数据库技术版块每日发帖之星
日期:2015-09-05 06:20:00
5 [报告]
发表于 2015-07-21 10:38 来自手机 |只看该作者
你说:它们都链接到 /etc/init.d/dummy 下的脚本
dummy 脚本里面 start 会创建一个标识文件,stop 也会创建另一个标识文件

有点不清楚
Dummy应该是脚本 包含start和stop函数 还有sys v格式的注释 然后用chkconfig生成对应运行级别下的启动和停止链接

再检查一下吧

论坛徽章:
1
天蝎座
日期:2013-10-23 21:11:03
6 [报告]
发表于 2015-07-23 12:51 |只看该作者
回复 5# exeron21


    我的意思是 start/stop 函数会各自创建一个文件,标明自己执行过了
    chkconfig 也已经设置了
    发现系统启动的时候 start 会执行,而系统关闭的时候不会执行 stop
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP