zoukankan      html  css  js  c++  java
  • 云盒所有服务检查

    #!/bin/bash
    # 20180819
    #云盒服务检查脚本
    
    result_num=0
    nginx_ssl="/xdfapp/server/nginx/conf/ssl"
    gru_ssl="/xdfapp/apps/gru-absolute/conf/spearssl"
    local_ip=`ip a |grep "scope global" |grep "enp2s0" |awk '{print $2}' |sed 's//.*//g'`
    
    #ngin 服务检查
    netstat -ntpl |grep -E ":11443" |grep LISTEN |grep nginx > /dev/null
    [ $? -ne 0 ] && echo "1.nginx 服务未启动,请检查" && result_num=$[$result_num+1]
    [ ! -d $nginx_ssl ] && echo "nginx 服务不支持 https,请检查" && result_num=$[$result_num+1]
    
    #长连接服务检查
    netstat -ntpl |grep -E ":30000" |grep LISTEN |grep java > /dev/null
    [ $? -ne 0 ] && echo "2.长连接服务未启动,请检查" && result_num=$[$result_num+1]
    grep -a monitor /xdfapp/logs/gru-absolute/server-info.log |grep gru-version |grep '7.0' > /dev/null
    [ $? -ne 0 ] && echo "gru-absolute 不是7.0版本,请检查" && result_num=$[$result_num+1]
    if [ ! -d $gru_ssl ];then
      echo "长连接服务不支持https,请检查" && result_num=$[$result_num+1]
    fi
    
    #redis 服务检查
    netstat -ntpl |grep -E ":6379" |grep redis > /dev/null
    [ $? -ne 0 ] && echo "3.redis 服务未启动,请检查" && result_num=$[$result_num+1]
    
    #dns 服务检查
    dns_ip=`cat  /etc/dnsrecord.txt |awk '{print $1}' |head -1`
    [ ${local_ip} != ${dns_ip} ] && echo "4./etc/dnsrecord.txt中的ip 和云盒ip 不一致,请检查" && result_num=$[$result_num+1]
    grep $local_ip /etc/dnsmasq.conf > /dev/null
    [ $? -ne 0 ] && echo "/etc/dnsmasq.conf 中的ip 和云盒ip 不一致,请检查" && result_num=$[$result_num+1]
    netstat -ntpl |grep -E ":53|LISTEN" |grep dnsmasq > /dev/null
    [ $? -ne 0 ] && echo "dns服务未启动,请检查" && result_num=$[$result_num+1]
    
    #乐播服务检查
    if [ -e /xdfapp/data/version/lebo ];then
      echo "乐播版本为:`cat   /xdfapp/data/version/lebo` OK"
    else
      if [ -e /xdfapp/data/lebo_version ];then
        echo "乐播版本为:`cat /xdfapp/data/lebo_version`"
      else
        echo "乐播版本文件不存在,请检查"
      fi
    fi
    grep start_lebo.sh /var/spool/cron/crontabs/okay > /dev/null
    [ $? -ne 0 ] && echo "5.乐播监控未启动,请检查" && result_num=$[$result_num+1]
    
    #启动项服务检查是否有重复项
    con_num=`cat /etc/rc.local | grep -v '#' |sort|uniq -c |awk '$1!=1{print $0}'|wc -l`
    repeat_str=`cat /etc/rc.local | grep -v '#' |sort|uniq -c |awk '$1!=1{print $0}'`
    if [ ${con_num} -ne 0 ];then
      result_num=$[$result_num+1] && echo "6.开机启动项有重复项,重复项为 ${repeat_str} 请检查"
    fi
    
    #开机启动项服务检查
    start_str=`cat /etc/rc.local | grep -v '#' |sort|uniq -c`
    echo $start_str |grep "gru-absolute" > /dev/null
    [ $? -ne 0 ] && echo "长连接服务没有开启自启动,请检查" && result_num=$[$result_num+1]
    echo $start_str |grep "change_route.sh" > /dev/null
    [ $? -ne 0 ] && echo "路由脚本没有开启自启动,请检查" && result_num=$[$result_num+1]
    echo $start_str |grep "startup_nginx.sh" > /dev/null
    [ $? -ne 0 ] && echo "nginx没有开启自启动,请检查" && result_num=$[$result_num+1]
    echo $start_str |grep "dnsmasq" > /dev/null
    [ $? -ne 0 ] && echo "dnsmasq没有开启自启动,请检查" && result_num=$[$result_num+1]
    echo $start_str |grep "supervisord" > /dev/null
    [ $? -ne 0 ] && echo "supervisord没有开启自启动,请检查" && result_num=$[$result_num+1]
    echo $start_str |grep "agent" > /dev/null
    [ $? -ne 0 ] && echo "agent没有开启自启动,请检查" && result_num=$[$result_num+1]
    echo $start_str |grep "cswitch" > /dev/null
    [ $? -ne 0 ] && echo "cswitch没有开启自启动,请检查" && result_num=$[$result_num+1]
    
    #计划任务服务检查是否有重复项
    cron_start_str=`cat /var/spool/cron/crontabs/root | grep -v '#' |sort|uniq -c |awk '$1!=1{print $0}'|wc -l`
    repeat_cron_str=`cat /var/spool/cron/crontabs/root | grep -v '#' |sort|uniq -c |awk '$1!=1{print $0}'`
    if [ ${cron_start_str} -ne 0 ];then
      result_num=$[$result_num+1] && echo "7.定时任务有重复项,重复项为 ${repeat_cron_str} 请检查"
    fi
    
    #计划任务服务检查
    cron_start_str=`cat /var/spool/cron/crontabs/root  |grep -v "#"`
    echo $cron_start_str |grep  "pool.ntp.org" > /dev/null
    [ $? -ne 0 ] && echo "时间同步未在定时任务里,请检查" && result_num=$[$result_num+1]
    echo $cron_start_str |grep  "auto_cut_nginx_log.sh" > /dev/null
    [ $? -ne 0 ] && echo "auto_cut_nginx_log.sh 未在定时任务里,请检查" && result_num=$[$result_num+1]
    echo $cron_start_str |grep "clean_log.sh" > /dev/null
    [ $? -ne 0 ] && echo "clean_log.sh 未在定时任务里,请检查" && result_num=$[$result_num+1]
    echo $cron_start_str |grep "euler-client" > /dev/null
    [ $? -ne 0 ] && echo "euler-client 未在定时任务里,请检查" && result_num=$[$result_num+1]
    
    
    if [ $result_num -eq 0 ];then
      echo "云盒所有服务都正常!"
    else
      echo "共 ${result_num}个问题,请检查"
    fi
    

      

  • 相关阅读:
    MSSQL转MySql
    MVC 4中的坑
    IIS错误记录
    MongoDB C#备忘
    IL指令集 收藏【转载】
    使用aforg.net 录制摄像头 附源码
    使用aforg.net 捕获摄像头 附源码
    Tesseract parameters in 3.02 version
    Unity平台宏定义
    unity3d杂录【2】
  • 原文地址:https://www.cnblogs.com/lixinliang/p/9534884.html
Copyright © 2011-2022 走看看