Linux之RedHat是如何使用脚本管理服务的

简介:

1、使用工具:chkconfig 管理/etc/rc.d/init.d或/etc/init.d/目录下的服务启动脚本。
     要在服务启动脚本开头添加两行:
                           # chkconfig: 2345  88 12
                           # description: XXXXXXXXX XXXXXX
   这样就可以使用工具:chkconfig 来管理服务启动脚本了。
   使用工具:chkconfig 工具的好处:
         没有使用该工具,我们要让一个服务在2、3、4、5级别上都运行,在其它级别上都不运行。
  要手动设置很多符号连接:
                      在/etc/rc.d/rc1.d   执行:[root@node2 rc1.d]# ln -sv K12nrped ../init.d/nrped
                      在/etc/rc.d/rc2.d   执行:[root@node2 rc2.d]# ln -sv S88nrped ../init.d/nrped
                      在/etc/rc.d/rc3.d   执行:[root@node2 rc3.d]# ln -sv S88nrped ../init.d/nrped
                     在/etc/rc.d/rc4.d   执行:[root@node2 rc4.d]# ln -sv S88nrped ../init.d/nrped
                     在/etc/rc.d/rc5.d   执行:[root@node2 rc5.d]# ln -sv S88nrped ../init.d/nrped
                     在/etc/rc.d/rc6.d   执行:[root@node2 rc6.d]# ln -sv K12nrped ../init.d/nrped
       添加这些符号链接之后。运行级别改变时,该服务就会授脚本 rc 的控制。------> rc 脚本就会根据对应运行级别目录(/etc/rc.d/rc$runlevel.d)的符号标识:S、K 关闭、启动对应的服务。这样就实现了设置一个服务是否在一个运行级别上运行。
         工具:chkconfig 就会根据服务运行脚本的 #chkconfig 行来,自动设置上述的符号链接。
  

1
  [root@node2 rc3.d] # chkconfig on

     就会根据:# chkconfig: 2345  88 12 创建各运行级别上的符号链接。

2、为了使用工具: service 管理服务 脚本最少需要接收 start 和 stop 选项;
   服务启动脚本要根据用户输入的选项:
                                  stop  -----> 关闭服务
                                  start -----> 启动服务
                              reload -----> 告诉程序重读配置文件,改变程序的运行状态
                               restart ----> 重新启动服务

3、Lock directory for RedHat / SuSE
      RedHat 管理服务的一种机制,要在/var/lock/subsys/目录下创建一个锁文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
[root@node2 rc.d] # vim /etc/init.d/nrped
#!/bin/bash
# chkconfig: 2345 89 11
# description: NRPE DAENON
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: $0 start|stop|restart|reload|status"
        ;;
esac
exit  0

 





     本文转自成长的小虫 51CTO博客,原文链接:http://blog.51cto.com/9528du/1421005,如需转载请自行联系原作者


相关文章
|
2月前
|
安全 Linux Shell
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
165 6
|
5天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
22 5
linux系统服务二!
|
5天前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
23 3
linux系统服务!!!
|
7天前
|
Ubuntu Linux Shell
Linux 系统中的代码类型或脚本类型内容
在 Linux 系统中,代码类型多样,包括 Shell 脚本、配置文件、网络配置、命令行工具和 Cron 定时任务。这些代码类型广泛应用于系统管理、自动化操作、网络配置和定期任务,掌握它们能显著提高系统管理和开发的效率。
|
10天前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
55 3
|
10天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
56 3
|
11天前
|
运维 监控 Shell
深入理解Linux系统下的Shell脚本编程
【10月更文挑战第24天】本文将深入浅出地介绍Linux系统中Shell脚本的基础知识和实用技巧,帮助读者从零开始学习编写Shell脚本。通过本文的学习,你将能够掌握Shell脚本的基本语法、变量使用、流程控制以及函数定义等核心概念,并学会如何将这些知识应用于实际问题解决中。文章还将展示几个实用的Shell脚本例子,以加深对知识点的理解和应用。无论你是运维人员还是软件开发者,这篇文章都将为你提供强大的Linux自动化工具。
|
12天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 2
|
13天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
24 3
|
25天前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
32 1