linux服务管理

简介:

chkconfig

功能:

     检查、设定系统的各种服务。


  说明:

     这个是redhat公司遵循GPL规则所开发的程序,它可以查询操作系统在每一个执行等级(runlevel)中会执行哪些系统服务,其中包括各种常驻服务。


  语法:

       chkconfig [--add][--del][--list][系统服务]或chkconfig[--level<等级代号>][系统服务][on/off/reset]


  参数:  

        --add   新增所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件中增加相关的数据

       --del   删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据

       --level 指定该系统服务要在哪个执行等级中开启或关闭

       --list   列出当前可从chkconfig指令管理的所有系统服务和等级代号

          on/off/reset   在指定的执行登记,开启/关闭/重置该系统服务

  chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。

  chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。

  chkconfig提供一个简单的命令行工具,它可以用来维护/etc/rc[0-6].d目录里面一些符号链接。


常用参数命令的格式及说明:

格式:chkconfig 

格式:chkconfig --list

     列出所有服务的当前启动信息。也就是显示所有运行级系统服务的运行状态信息(on或off

例1.查看在各种不同的执行等级中,各项服务的状况:

    #chkconfig --list


格式:chkconfig --list <service>

     列出指定系统服务<service>的当前启动信息。

例2.列出系统服务vsftpd在各个执行等级的启动情况:

     #chkconfig --list vsftpd


格式:chkconfig <service> on

     将指定服务<service>系统开机时自动启动。


格式:chkconfig <service> off

     将指定服务<service>系统开机时不自动启动。


格式:chkconfig --add name

     增加一项新的服务。


格式:chkconfig --del name

     删除服务,并把相关符号连接从/etc/rc[0-6].d删除。


格式:chkconfig [--level levels] name <on|off|reset>

     设置某一服务在指定的运行级是被启动,停止还是重置。

例3.在执行等级3,5时,关闭vsftpd系统服务:

     #chkconfig --level 35 vsftpd off


拓展知识:

 运行级别:

     那么什么是运行级别呢??

     简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从0到6 ,具有不同的功能。

    不同的运行级定义如下

        0 - 关机(千万不能把initdefault 设置为0 

        1 - 单用户模式   # s init s = init 1

        2 - 多用户,没有 NFS的多用户模式

        3 - 完全多用户模式(标准的运行级) ,不启用图形界面

        4 - 保留级别

        5 - 多用户图形模式

        6 - 重新启动(千万不能把initdefault 设置为6

    这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是放在/etc/rc.d 目录下的文件。在大多数的Linux 发行版本中,启动脚本都是位于 /etc/rc.d/init.d中的。这些脚本被用ln 命令链接到 /etc/rc.d/rc#.d 目录。(这里的# 就是运行级0-6) 


在脚本中定义服务:

   # chkconfig: 2345 20 80

     意思是:该脚本将在运行级别2,3,4,5启动,启动优先级为20,停止优先级为80

扩展知识:

   关于优先级:

  如果启动的脚本或文件(前者)依赖于某个文件(后者);则前者的启动优先级要小于后者的启动优先级别,停止优先级别应大于后者的优先级别。

例4.启动优先级:A依赖于B(A(65) --> B(60))数字越小优先级别越大

      停止优先级:A(60) --> B(70)


应用实例:

例5.写一个简单的服务脚本,名称tserver,使其能够接受chkconfig控制,且在2、3、4和5级别下默认开启;要求:

1) 当传递start参数时,显示“Startingtserver...”;注意,tserver为脚本名,也是服务名,如果脚本名称改变,此处的显示信息也要随之改变;比如,如果脚本名称改为myserver,则显示“Starting myserver”;

2) 当传递stop参数时,显示“Stoppingtserver...

3) 当传递restart参数时,先显示“Stoppingtserver...”,而后显示“Starting tserver...”;

4) 当传递status参数时,根据此前的操作判定此处应该显示的信息;如果此前已经启动,则显示为“Running...”,否则显示为“Stopped...”;

5) 其它任意参数,则显示帮助信息;

注:

1) 建议上述的start、stop和帮助功能以函数实现;

2) 写好后,将此脚本复制进/etc/init.d目录中,并添加为系统服务;

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
53
54
55
56
57
#!/bin/sh
# chkconfig: 2345 99 60
# description: Test Service
Name=` basename  $0`
File= /var/lock/subsys/ $Name
if  [ $ # -lt 1 ]; then
   echo  "help: $Name {start|restart|stop|status}"
   exit  5
fi
Start(){
  if  [ -e $File ]
then
  echo   "$Name is running"
else
      touch  $File
  echo   "Starting $Name"
fi
}
Stop() {
if  [ -e $File ]
then
      rm  -f $File
      echo   "Stopping $Name"
fi
}
Status(){
if  [ -e $File ] ;  then
  echo  "$Name running."
else
  echo  "$Name stopped."
fi
}
Restart() {
Stop
Start
}
help(){
     echo  "Help: $Name     Parameter {start|restart|stop|status}"
         exit  6
       }
case  $1  in
start)
     Start
     ;;
stop)
     Stop
     ;;
restart)
     Restart
     ;;
status)
     Status
     ;;
*)
         help
         ;;
esac

运行结果:

105633294.png


1
2
cp tserver.sh /etc/init.d/tserver.sh
chkconfig –add tserver.sh


105724187.png




本文转自 z永 51CTO博客,原文链接:http://blog.51cto.com/pangge/1269806


相关文章
|
6天前
|
Java Linux Shell
linux自动部署jar包,注册系统服务(基于Centos7)
linux自动部署jar包,注册系统服务(基于Centos7)
21 0
|
27天前
|
存储 网络协议 Ubuntu
如何通过内网穿透实现远程访问Linux SVN服务
如何通过内网穿透实现远程访问Linux SVN服务
25 0
|
10天前
|
缓存 Linux 网络安全
百度搜索:蓝易云【Linux系统服务器启动SSH服务时出现“error while loading shared libraries”错误该如何解决】
以上步骤应该能够解决“error while loading shared libraries”错误,使SSH服务能够正常启动并运行。
23 3
|
7天前
|
Unix Linux iOS开发
操作系统透视:从历史沿革到现代应用,剖析Linux与网站服务架构
操作系统透视:从历史沿革到现代应用,剖析Linux与网站服务架构
39 0
|
11天前
|
监控 安全 Linux
Linux日志管理服务 rsyslogd
Linux日志管理服务 rsyslogd
18 2
Linux日志管理服务 rsyslogd
|
13天前
|
Linux Shell 数据安全/隐私保护
如何在Linux中使用`usermod`命令,以便你可以灵活地管理用户账户?
如何在Linux中使用`usermod`命令,以便你可以灵活地管理用户账户?
27 1
如何在Linux中使用`usermod`命令,以便你可以灵活地管理用户账户?
|
19天前
|
NoSQL 关系型数据库 Linux
阿里云RDS购买Linux——安装redis服务
阿里云RDS购买Linux——安装redis服务
35 0
|
20天前
|
缓存 监控 Linux
如何实现 Linux 服务 Crash 后自动重启?
如何实现 Linux 服务 Crash 后自动重启?
|
21天前
|
存储 监控 Ubuntu
揭秘 systemd:释放 Linux 服务管理的力量【systemd 一】
揭秘 systemd:释放 Linux 服务管理的力量【systemd 一】
27 0
|
24天前
|
存储 Ubuntu Linux
【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用
【Linux操作系统】探秘Linux奥秘:文件系统的管理与使用
28 0

相关产品

  • 云迁移中心