zoukankan      html  css  js  c++  java
  • [svc]centos6使用chkconfig治理服务和其原理

    centos6开机启动级别

    $ cat /etc/inittab
    ...
    #   0 - halt (Do NOT set initdefault to this)
    #   1 - Single user mode
    #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
    #   3 - Full multiuser mode
    #   4 - unused
    #   5 - X11
    #   6 - reboot (Do NOT set initdefault to this)
    

    linux启动过程

    chkconfig默认管理345级别开机启动

    参考

    
    chkconfig --list        #列出所有的系统服务
    chkconfig --add httpd        #增加httpd服务
    chkconfig --del httpd        #删除httpd服务
    chkconfig --level httpd 2345 on        #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态
    chkconfig --list        #列出系统所有的服务启动情况
    chkconfig --list mysqld        #列出mysqld服务设置情况
    chkconfig --level 35 mysqld on        #设定mysqld在等级3和5为开机运行服务,--level 3
    

    chkconfig的原理

    如何将自己的服务,托管给chkconfig管理?

    1,脚本放在/etc/init.d下面,可以执行(/etc/init.d/sshd),
    希望被chkconfig管理,需要添加到chkconfig --add sshd
    
    2.chkconfig --level 3 sshd on,本质上市
    rm -f /etc/rc.d/rc3.d/K25sshd
    ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S55sshd
    
    3.chkconfig --level 3 sshd off
    rm -f /etc/rc.d/rc3.d/S55sshd
    ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/K25sshd
    
    4. /etc/init.d/sshd里面设置了对应的级别启动顺序
    # chkconfig: 2345 55 25
    # description: SSH is a protocol...
    
    5.开发自己的程序,让chkconfig管理
    $ cat /etc/init.d/maotai
    #!/bin/bash
    
    # chkconfig: 2345 56 26
    # description: maotai service test...
    
    case "$1" in
        start)
            action "maotai is started" /bin/true
        ;;
        *)
            echo "$0 USAGE{start|stop|restart}"
    
    chkconfig --add/del maotai
    

    小结:

    • 1.把重要命令加到/etc/rc.local也能达到让启动命令开机时候启动目的.
    • 2.添加一个服务,比如3级别的nfs自启动,chkconfig相当于在/etc/init.d/rc3.d目录里做个软链接:S60nfs
    • 3.软链接的首字母为"K",表示关机时候会会关闭,为"S"表示开机时候会启动,数字60为开机服务启动的顺序,这个数字可以通过chkconfig控制的启动脚本的开头有明确的声明.
    • 4.添加,删除系统自启动服务的本质,实际上是在/etc/init.d/rc3.d穿件启动与删除脚本的软链接.

    生产例子: 精简linux开机自启动项

    - 需要启动项有:
    rsyslog
    sshd
    network
    crond
    sysstat
    
    
    - sysstat软件包集成的主要工具为:
    	iostat:提供cpu使用率及硬盘吞吐效率的数据
    	mpstat:工具提供与单个或多个处理器相关的数据
    	sar   :工具负责收集,报告,病存储系统活跃的信息.
    
    思路:
    1,关掉所有,启动想启动的
    2,启动想启动的,关闭其他的
    
    ## awk过滤行,之后拼凑字符串
    [root@n1 ~]# cat svc.txt |awk '{print "chkconfig",$1,"on"}'
    chkconfig crond on
    chkconfig dbus on
    chkconfig docker on
    chkconfig getty@tty1 on
    chkconfig httpd on
    chkconfig kmod-static-nodes on
    chkconfig lvm2-lvmetad on
    chkconfig lvm2-pvscan@8:2 on
    chkconfig network on
    chkconfig ntpdate on
    chkconfig polkit on
    chkconfig rhel-dmesg on
    chkconfig rhel-import-state on
    chkconfig rhel-readonly on
    chkconfig rsyslog on
    chkconfig sshd on
    
    - 关掉所有,启动想启动的
    [root@n1 ~]# cat svc.txt|grep 3:on|awk '{print "chkconfig",$1,"off"}'|bash #命令交给bash执行
    [root@n1 ~]# cat svc.txt|grep -E "rsyslog|sshd|network|crond|sysstat" |awk '{print "chkconfig",$1,"on"}'
    chkconfig crond on
    chkconfig network on
    chkconfig rsyslog on
    chkconfig sshd on
    
    - 启动想启动的,关闭其他的
    [root@n1 ~]# cat svc.txt|grep -E "rsyslog|sshd|network|crond|sysstat" |awk '{print "chkconfig",$1,"on"}'
    [root@n1 ~]# cat svc.txt|grep -vE "rsyslog|sshd|network|crond|sysstat" |awk '{print "chkconfig",$1,"off"}'
    chkconfig dbus off
    chkconfig docker off
    chkconfig getty@tty1 off
    chkconfig httpd off
    chkconfig kmod-static-nodes off
    chkconfig lvm2-lvmetad off
    chkconfig lvm2-pvscan@8:2 off
    chkconfig ntpdate off
    chkconfig polkit off
    chkconfig rhel-dmesg off
    chkconfig rhel-import-state off
    chkconfig rhel-readonly off
    
  • 相关阅读:
    Watir and Selenium
    WebDriver 原理 (zhuan)
    Junit4 如何实现并发测试用例,及 Selenium Grid2 与 Junit4 结合进行并发测试。
    Excel: 如何知道 A列中的条目是否在 B 列中
    WebDriver如何工作 (zhuan)
    复习 多线程
    Way To Get Xpath From IE (forward)
    Eclipse 常用快捷键
    如何引入(调用)一个 js文件
    Wireshark 常见 filter (转)
  • 原文地址:https://www.cnblogs.com/iiiiher/p/8503840.html
Copyright © 2011-2022 走看看