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,如需转载请自行联系原作者


相关文章
|
28天前
|
安全 Linux Shell
Linux上执行内存中的脚本和程序
【9月更文挑战第3天】在 Linux 系统中,可以通过多种方式执行内存中的脚本和程序:一是使用 `eval` 命令直接执行内存中的脚本内容;二是利用管道将脚本内容传递给 `bash` 解释器执行;三是将编译好的程序复制到 `/dev/shm` 并执行。这些方法虽便捷,但也需谨慎操作以避免安全风险。
|
2月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
9天前
|
人工智能 监控 Shell
常用的 55 个 Linux Shell 脚本(包括基础案例、文件操作、实用工具、图形化、sed、gawk)
这篇文章提供了55个常用的Linux Shell脚本实例,涵盖基础案例、文件操作、实用工具、图形化界面及sed、gawk的使用。
26 2
|
29天前
|
Shell Linux 开发工具
linux shell 脚本调试技巧
【9月更文挑战第3天】在Linux中调试shell脚本可采用多种技巧:使用`-x`选项显示每行命令及变量扩展情况;通过`read`或`trap`设置断点;利用`echo`检查变量值,`set`显示所有变量;检查退出状态码 `$?` 进行错误处理;使用`bashdb`等调试工具实现更复杂调试功能。
|
1月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
|
9天前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
2月前
|
安全 Linux 开发工具
探索Linux操作系统:从命令行到脚本编程
【8月更文挑战第31天】在这篇文章中,我们将一起潜入Linux操作系统的海洋,从最基础的命令行操作开始,逐步深入到编写实用的脚本。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供新的视角和实用技能。我们将通过实际代码示例,展示如何在日常工作中利用Linux的强大功能来简化任务和提高效率。准备好了吗?让我们一起开启这段旅程,探索Linux的奥秘吧!
|
2月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
2月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
2月前
|
机器学习/深度学习 Ubuntu Linux
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
在Linux中,如何按照该要求抓包:只过滤出访问http服务的,目标ip为192.168.0.111,一共抓1000个包,并且保存到1.cap文件中?
下一篇
无影云桌面