1、使用工具:chkconfig管理/etc/rc.d/init.d或/etc/init.d/目录下的服务启动脚本。
要在服务启动脚本开头添加两行:
#chkconfig:23458812
#description:XXXXXXXXXXXXXXX
这样就可以使用工具:chkconfig来管理服务启动脚本了。
使用工具:chkconfig工具的好处:
没有使用该工具,我们要让一个服务在2、3、4、5级别上都运行,在其它级别上都不运行。要手动设置很多符号连接:
在/etc/rc.d/rc1.d执行:[root@node2rc1.d]#ln-svK12nrped../init.d/nrped
在/etc/rc.d/rc2.d执行:[root@node2rc2.d]#ln-svS88nrped../init.d/nrped
在/etc/rc.d/rc3.d执行:[root@node2rc3.d]#ln-svS88nrped../init.d/nrped
在/etc/rc.d/rc4.d执行:[root@node2rc4.d]#ln-svS88nrped../init.d/nrped
在/etc/rc.d/rc5.d执行:[root@node2rc5.d]#ln-svS88nrped../init.d/nrped
在/etc/rc.d/rc6.d执行:[root@node2rc6.d]#ln-svK12nrped../init.d/nrped
添加这些符号链接之后。运行级别改变时,该服务就会授脚本rc的控制。------>rc脚本就会根据对应运行级别目录(/etc/rc.d/rc$runlevel.d)的符号标识:S、K关闭、启动对应的服务。这样就实现了设置一个服务是否在一个运行级别上运行。
工具:chkconfig就会根据服务运行脚本的#chkconfig行来,自动设置上述的符号链接。
[root@node2rc3.d]#chkconfigon
就会根据:#chkconfig:23458812创建各运行级别上的符号链接。
2、为了使用工具:service管理服务脚本最少需要接收start和stop选项;
服务启动脚本要根据用户输入的选项:
stop----->关闭服务
start----->启动服务
reload----->告诉程序重读配置文件,改变程序的运行状态
restart---->重新启动服务
3、LockdirectoryforRedHat/SuSE
RedHat管理服务的一种机制,要在/var/lock/subsys/目录下创建一个锁文件。
[root@node2rc.d]#vim/etc/init.d/nrped
#!/bin/bash
#chkconfig:23458911
#description:NRPEDAENON
NRPE=/usr/local/nagios/bin/nrpe
OPTIONS="-c/etc/nagios/nrpe.cfg-d"
lockfile=/var/lock/subsys/nrped
prog=nrped
RETVAL=0
./etc/rc.d/init.d/functions
start(){
echo-n$"Starting$prog:"
daemon$NRPE$OPTIONS
RETVAL=$?
echo
[$RETVAL=0]&&touch${lockfile}
return$RETVAL
}
stop(){
echo-n$"Stopping$prog:"
killproc-d-10$NRPE
RETVAL=$?
echo
[RETVAL=0]&&rm-f${lockfile}
}
reload(){
echo-n$"Reloading$prog:"
killproc$NRPE-HUP
echo
}
case"$1"in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
reload)
reload
;;
status)
status$NRPE
;;
*)
echo"Usage:$0start|stop|restart|reload|status"
;;
esac
exit0