实例脚本,判断是否加入开机自启动,服务状态、脚本规范

脚本实例:

  • 判断ntpd服务是否加入开机自启动
  • #!/bin/bash
    # Output:
    # Result must exactly equal to "3:on,5:on|enable"
    #
    # Other output is non-compliant.
    
    # Confirm OS Version
    unset OS_VERSION
    
    uname -r | grep el5 > /dev/null && OS_VERSION=el5
    uname -r | grep el6 > /dev/null && OS_VERSION=el6
    uname -r | grep el7 > /dev/null && OS_VERSION=el7
    
    # Check ntp auto start on rhel5 and rhel6
    function ntp_boot_start ()
    {
        local LANG
        local ret
        
        LANG="en_US.UTF-8"
        ret=$(chkconfig --list ntpd 2>/dev/null|awk ‘{print $5","$7}‘)
        
    	if [ "$ret" = "" ]; then
    		ntp_auto=false
    		echo "$ntp_auto"
    
    	elif [ "$ret" != "" -a "$ret" != "3:on,5:on" ];then
    #		echo "$ret"
    #        echo "Check [ntpd auto start]... FAILED"
    		ntp_auto=false
    		echo "$ntp_auto"
    
    	else
    #		echo "$ret"
    		ntp_auto=true
    		echo "$ntp_auto"
    	fi
    }
    
    # Check chrony auto start on rhel7
    function chrony_boot_start ()
    {
        local LANG
        local ret
        
        LANG="en_US.UTF-8"
        ret=$(systemctl is-enabled chronyd.service 2>/dev/null)
        
    	if [ "$ret" = "" ]; then
    		ntp_auto=false
    		echo "$ntp_auto"
    	elif [ "$ret" != "" -a "$ret" != "enabled" ];then
    		ntp_auto=false
    		echo "$ntp_auto"
            #echo "Change method:"
    		#echo "systemctl enable chronyd.service"
    	else
    		ntp_auto=true
    		echo "$ntp_auto"
    	fi
    }
    
    #Begin check
    if [ "$OS_VERSION" = "el5" -o "$OS_VERSION" = "el6" ];then
        ntp_boot_start
    elif [ "$OS_VERSION" = "el7" ];then
        chrony_boot_start
    fi
  • 判断服务状态
  • #!/bin/bash
    # Output:
    # At this time, it must exactly equal to "UP".
    # 
    # Other output is non-compliant.
    
    # Confirm OS Version
    unset OS_VERSION
    
    uname -r | grep el5 > /dev/null && OS_VERSION=el5
    uname -r | grep el6 > /dev/null && OS_VERSION=el6
    uname -r | grep el7 > /dev/null && OS_VERSION=el7
    
    # Begin check 
    if [ "$OS_VERSION" = "el5" -o "$OS_VERSION" = "el6" ];then
        pidof ntpd &> /dev/null
        if [ $? -ne 0 ];then
    		ntpd_service_status=flase
            echo "ntpd_service_status $ntpd_service_status"
    #        echo "DOWN"
    #        echo "Check [ntp service status]... FAILED"
            #echo "Change method:"
            #echo "service ntpd start"
        else
    		ntpd_service_status=true
            echo "ntpd_service_status $ntpd_service_status"
    #        echo "UP"
        fi
    elif [ "$OS_VERSION" = "el7" ];then
        pidof chronyd &> /dev/null
        if [ $? -ne 0 ];then
    		ntpd_service_status=flase
            echo "ntpd_service_status $ntpd_service_status"
    #        echo "DOWN"
    #        echo "Check [chrony service status]... FAILED"
            #echo "Change method:"
            #echo "systemctl start chronyd.service"
        else
    		ntpd_service_status=true
            echo "ntpd_service_status $ntpd_service_status"
    #        echo "UP"
        fi
    fi
时间: 2024-12-29 11:30:04

实例脚本,判断是否加入开机自启动,服务状态、脚本规范的相关文章

Centos 下添加开机自启动服务和脚本

最近刚玩Centos7的系统,跟Centos6还是很多方面有改变的,这里记录一下怎么在Centos7下添加开机自启动脚本和服务的方法. 1.添加开机自启服务 我这里以docker 服务为例,设置如下两条命令即可: 1  # systemctl enable docker.service #设置docker服务为自启动服务 相当于我们的 chkconfig docker on 2 # systemctl start docker.service #启动docker服务 2.添加开机自启脚本 在ce

将自己写的脚本添加至开机自启动服务和chkconfig的原理

将自己写的脚本添加至开机自启动服务和chkconfig的原理 创建脚本测试 [[email protected] ~]# vim anuo.sh --创建个脚本 # !/bin/bash # chkconfig: 35 53 88 --指定3和5级别启动 53的启动的顺序 88是关闭的顺序 # description: is anuo --可以随便说点啥, 最好的说明这个脚本的用途啥的. echo Anuo Come on --脚本的内容 [[email protected] ~]# mv an

linux优化之优化开机自启动服务

精简开机系统启动 和Windows系统一样,在linux服务器运行过程中,会有很多无用的软件默认就在运行,这些服务占用了很多系统资源,而且也带来了安全隐患,因此要关闭掉.那么,企业生产场景的linux主机到底需要保留哪些开机启动的服务呢? 1)重要的开机自启动服务 企业环境新装Linux系统之后有必要保留的开机自启动服务有五个,具体如下.  sshd 远程连接Linux服务器时需要用到这个服务程序,所以必须要开启. rsyslog     日志相关软件,这是操作系统提供的一种机制,系统的守护程序

supervisord安装,启动/关闭,添加开机自启动服务

centos7安装supervisord #yum -y install supervisor 安装路径/usr/bin/supervisord,配置文件/etc/supervisor.conf 一.手动启动/关闭 supervisor手动启动: #/usr/bin/supervisord -c /etc/supervisor.conf supervisor手动关闭: #/usr/bin/supervisorctl stop all    先关闭supervisor启动脚本,之后再关闭super

centOS 开机自启动自己的脚本

centOS 开机自启动自己的脚本 1. 自己脚本 myservice 如下: #!/bin/bash # chkconfig: 2345 10 90 # description: myservice .... echo "hello world" > /tmp/hello.log 2. 将自己写的脚本move到 /etc/rc.d/init.d/ 下面并修改权限 mv myservice /etc/rc.d/init.d/ chmod +x myservice 3. 将脚本加入

Linux学习 哪些开机自启动服务是必备的?

和Windows系统一样,Linux服务器运行过程中也会一些没用的软件服务默认运行,这些占用了很多系统资源,也会有安全隐患,所以一般是建议关闭的.那么,工作中Linux主机到底需要有哪些开机自启动服务呢? 新装Linux系统之后,有必要保留的开机自启动服务有5个: ? sshd:远程连接Linux服务器时要用到,所以必须开启,不然就无法提供远程连接服务了. ? rsyslog:日志相关软件,这是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog程序将各种信息写到各个系统日志文件中.

centOS7添加开机启动服务/执行脚本

centOS7添加开机启动服务/执行脚本 /etc/rc.d/rc.local  后追加shell脚本 1 开机启动服务 在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例): #设置jenkins服务为自启动服务 systemctl enable jenkins.service #启动jenkins服务 systemctl start jenkins.service 2 开机执行脚本 在centos7中增加脚本有两种常用的方法: 修改/etc/rc.d/rc/lo

linux开机自启动服务优化设置命令

1.设置成英文字符,避免出现乱码[[email protected] ~]# LANG=en2.两种配置linux开机自启动服务命令:1)[[email protected] ~]# ntsysv2)[[email protected] ~]# setup3.查看文本模式3级别下的开机自启动服务[[email protected] ~]# chkconfig --list|grep 3:onabrt-ccpp           0:off 1:off 2:off 3:on 4:off 5:on

Android 4.0及以上版本接收开机广播BOOT_COMPLETED、开机自启动服务

情景概要:自己做的一个项目的时候,或得不到开启启动的通知,这样更别说开机启动通知里面实现开机服务功能了,查找了N多资料,说法不一,太多的人说4.0之后无法获得开机通知,通过各种渠道,各种大牛的方式仍然是那些N多人说不可行的方法,即使大牛给的是英文文档也是说这样可以的. 最后发现,开启启动通知已经实现了,但是自己的疏忽没有发现,我通过在通知里面弹出一个Toast,但是真机或者模拟器在开机的时候都需要很多启动项,导致最后的Toast弹出很晚,而自己却没看见.你可以在通知里面弹出10个以上的Toast

题目:命令chkconfig;开机自启动服务

chkconfig  chkconfig --list 查看所有服务对应的运行级别 过滤3级别开机自动启动的服务 [[email protected] ~]# chkconfig --list | grep "3:on" 查看某个服务开机自启级别,例如查看 iptables [[email protected] ~]# chkconfig --list iptables 开机自启动服务:sshd 一.更改配置文件 将启动命令放入  /etc/rc.local 例如配置sshd服务开机自