check.sh

#! /bin/bash

echo ''

HN=`cat /etc/hostname`

#cat <<EOF

#echo -e "\033[47;34m *------Author:zh------* \033[0m"

#当前系统为

      echo "$HN-当前系统版本为"$(cat /etc/redhat-release)

#检查grtmp进程号

port=`netstat -npl | grep grtmp | grep -v udp|egrep ":80\b|:1935\b|:8981\b|:443\b" |wc -l`

if [ "$port" -lt 4 ]

      then

      echo "$HN-err-grtmp进程数目未达标,请检查服务状态!!"

else

      echo "$HN-ok-grtmp进程数目达标"

fi

#zabbix系统是否启用

if [ "$(netstat -npl | grep zabbix_agent |wc -l)" -lt "1" ]

      then

      echo "$HN-err-zabbix_agent未启动,请启用!!"

else

      echo "$HN-ok-zabbix_agent程序已启动"

fi

#grtmp目录下文件齐全否

cd /usr/local/grtmp/ #检查少了那个关键文件

grtmp="allow_auth.lua allow_publish.lua allow_push.lua conf grtmp pushdir allow_play_before.lua allow_pull_before.lua auto.lua config.json info.txt ulog.txt allow_play.lua allow_pull.lua cjson.so core.so pulldir"

for i in $grtmp

      do test -e $i || echo "$i-err-不存在,前往/usr/local/grtmp确认!!"

done

 

grtmp_num=`ls /usr/local/grtmp/|egrep "allow_auth.lua|allow_publish.lua|allow_push.lua|conf|grtmp|pushdir|allow_play_before.lua|allow_pull_before.lua|auto.lua|config.json|info.txt|ulog.txt|allow_play.lua|allow_pull.lua|cjson.so|core.so|pulldir" |wc -l`

if [ "$grtmp_num" -ge 17 ];then

      echo "$HN-ok-grtmp目录文件齐全"

else

      echo "$HN-err-grtmp目录文件不齐全!!"

fi

#当前grtmp版本号

# echo "$HN-ok-当前grtmp版本号"$(curl -s http://127.0.0.1:8981/query/info | python -m json.tool | grep "\bversion\b")

       echo "$HN-ok-当前grtmp版本号"$(curl -s http://127.0.0.1:8981/query/info|awk -F ':' '{print $2}'|awk -F ',' '{print $1}')

#检查zabbix后台服务

      curl --connect-timeout 5 -m 6 --retry 2 -H 'Content-Type:application/json' -d '{"jsonrpc":"2.0","method":"host.get","params":{"output":"extend","filter": {"host": ["'$HN'"]}},"auth":"1c649490a4346a783e39748109dacdcb","id":1 }' http://cdn.zabbix.yfcdn.net/api_jsonrpc.php -o /tmp/chk_zabbix_agent.log &>/dev/null

      chmod 777 /tmp/chk_zabbix_agent.log

      zabb_BS=`cat /tmp/chk_zabbix_agent.log | awk -F ',' '{for(i=1;i<NF;i++)print $i}' |grep '"status":"0"' |wc -l`

#ls /tmp/chk_zabbix_agent.log | awk -F ',' '{for(i=1;i<NF;i++)print $i}' |grep '"status":"0"' |wc -l >>/tmp/chk_zabbix_agent.log

if [ "$zabb_BS" == "1" ]

       then

       echo "$HN-ok-设备zabbix监控为启用状态"

else

       echo "$HN-err-设备zabbix监控未添加或者为禁用状态或者主机名错误!!"

fi

#zabbix.conf依赖脚本

cat /etc/zabbix/zabbix_agentd.conf |egrep -v "^#|^$"|grep "UserParameter="|egrep '\.sh|\.pl|\.py' > /tmp/chk_zabbix_agent.log

                s sed -i 's/\$1//g' /tmp/chk_zabbix_agent.log

                s sed -i 's/\$2//g' /tmp/chk_zabbix_agent.log

                s sed -i 's/\$3//g' /tmp/chk_zabbix_agent.log

                s sed -i 's/\$4//g' /tmp/chk_zabbix_agent.log

                jiao_ben=`cat /tmp/chk_zabbix_agent.log|awk -F ',' '{print $NF}'|awk '{print $NF}'`

for i in $jiao_ben

       do

if [ ! -f $i ]

       then

       echo "$HN-err-/etc/zabbix/zabbix_agentd.conf中的脚本$i在设备上不存在!!"

fi

done

#检查dns配置是否有2个,并且为通用中的任意2个

dns=`cat /etc/resolv.conf | egrep "119.29.29.29\b|223.5.5.5\b|114.114.114.114\b|8.8.8.8\b"|wc -l`

if [ "$dns" -lt 2 ]

       then

       echo "$HN-err-dns配置不全,请检查/etc/resolv.conf!!"

else

       echo "$HN-ok-dns配置齐全"

fi

 

##hosts文件是否有非系统默认值

hosts_num=`cat /etc/hosts | egrep "localhost.*localdomain4|localhost.*localdomain6|^$"|wc -l` &> /dev/null

if [ "$hosts_num" -ne 2 ];then

       echo "$HN-warning-hosts文件有非系统默认值(空)或少配!!"

else

       echo "$HN-ok-hosts文件正常"

fi

#检查hosts.allow和hosts.deny文件是否标准

cat /etc/hosts.allow | egrep "\b115.*.16\b|^$" &> /dev/null

if [ $? = 0 ]

       then

       echo "$HN-ok-hosts.allow达标"

else

       echo "$HN-err-hosts.allow未标准,请检查/etc/hosts.allow!!"

fi

host_deny=`cat /etc/hosts.deny |sed -n '13p' | awk -F ' ' '{print $NF}'`

if [ $host_deny == "all" ]

       then

       echo "$HN-ok-hosts.deny达标"

else

       echo "$HN-err-hosts.deny未达标,请检查/etc/hosts.deny!!"

fi

#检查当前时间,时区是否正常

duan_time=`rdate -p time.nist.gov |awk '{print $3,$4,$5,$6,$7}' |grep 201` #网络服务机器返回的时间

if [ "(echo $duan_time|grep 201|wc -l )" == 1 ]

       then

       wget -t 1 -T 5 -S 'ospf.yunfancdn.com/shijian.list' -e http-proxy=v5.yfcdn.net -O /tmp/shijian.list &>/dev/null

      chmod 777 /tmp/shijian.list

      bz_time=`cat /tmp/shijian.list|head -n 1`

else

       bz_time=`date -d "$duan_time" +%s`

fi

local_time1=`date +%s` #本地时间

        local_time=`echo "$local_time1"|awk '{print $1+10}'`

 

        #假如本地时间戳小于网络服务器时间戳,直接报错

        #允许有10s差距

if [ "$local_time" -lt "$bz_time" ];then

        echo "$name-err-本地时间小于远程服务器时间,请进行时间同步!!" >>/tmp/shijian.list

else

        #假如本地时间戳大于或等于网络时间戳,则判断其差距是否超过 60s,超过则报错

        cha_time=`echo "$local_time $bz_time"|awk '{print $1-$2}'`

         if [ "$cha_time" -gt "80" ];then

                        echo "$HN-err-本地时间大于远程服务器时间,请进行时间同步!!" >>/tmp/shijian.list

        else

                        echo "$HN-ok-当前时间正常"

         fi

fi

 

#机器是否为矿机,为矿机时是否有矿工账号密码

function judge

{

         Account=`cat /usr/local/grtmp/ulog.txt | grep -v "^$" |grep "\bname\b" |awk -F ":" '{print $2}'|wc -c`

         Password=`cat /usr/local/grtmp/ulog.txt | grep -v "^$" |grep "\bpwd\b" | awk -F ':' '{print $2}'|wc -c`

if [ "$Account" == 5 ]

         then

         echo "$HN-tips-矿机无账号!!"

elif [ "$Account" != 5 ]

         then

         echo "$HN-tips-矿机有账号!!"

fi

if [ "$Password" == 4 ]

         then

         echo "$HN-tips-矿机无密码!!"

elif [ "$Password" != 4 ]

         then

         echo "$HN-tips-矿机有密码!!"

fi

}

KJ=`hostname | awk '{print substr($1,14)}'`

#if [ "$KJ" == "K" ]

# then

# echo "$HN-tips-$HN为矿机设备"

# judge

#fi

if [ "$KJ" != "K" ];then

          echo "$HN-tips-非矿机设备!!"

else

          echo "$HN-tips-为矿机设备!!"

          judge

fi

#echo $HOSTNAME | grep -E "K$" &>/dev/null && (echo "$HN-tips-$HN为矿机设备" && judge)

 

 

#内存是否低于8G,cpu是否低于8核

free_rest=`free -g | sed -n {2p} | awk '{print $2}'`

if [ "$free_rest" -lt 12 ]

         then

         echo "$HN-err-总内存低于12G!!"

else

         echo "$HN-ok总内存高于12G"

fi

 

cpu_cores=`cat /proc/cpuinfo | grep "cores" | uniq |awk -F ':' '{print $2}'`

if [ "$cpu_cores" -lt 8 ]

         then

         echo "$HN-tips-cpu低于8核!!"

else

         echo "$HN-tips-cpu标准8核"

fi

#lua版本是否标准

 

#function vir

#{

#md5_1=`cat /usr/local/nginx/html/lua/info.txt | grep allow_play.lua |awk '{print $5}'`

#md5_2=`cat /usr/local/nginx/html/lua/info.txt | grep allow_publish.lua |awk '{print $5}'`

#md5_3=`cat /usr/local/nginx/html/lua/info.txt | grep allow_pull.lua |awk '{print $5}'`

#md5_4=`cat /usr/local/nginx/html/lua/info.txt | grep allow_push.lua |awk '{print $5}'`

#md5_5=`cat /usr/local/nginx/html/lua/info.txt | grep allow_auth.lua |awk '{print $5}'`

#md5_6=`cat /usr/local/nginx/html/lua/info.txt | grep allow_play_before.lua |awk '{print $5}'`

#md5_7=`cat /usr/local/nginx/html/lua/info.txt | grep allow_pull_before.lua |awk '{print $5}'`

#if [ "$md5_1" != "6fac93b1f42d506de1f5e77e3e8efad7" ] || [ "$md5_2" != "b805c5ca3301e963a72a8d7b398af28f" ] || [ "$md5_3" != "0b840af015c98fd1c523c7f9b073d5f2" ] || [ "$md5_4" != "7792a82ed250de09e29053e40c87b4e6" ] || [ "$md5_5" != "f7bf4d90e20bc4d32b11bbeab61af723" ] || [ "$md5_6" != "e4d703129fba78b3c4624ff11861d0d4" ] || [ "$md5_7" != "d855a9a020b03fb1c757f3acd6556684" ]

#then

#echo "$HN-err-lu版本不标准,请前往目录/usr/local/nginx/html/lua/核对及跟新"

#fi

#}

if [ ! -d /usr/local/grtmp ];then

          echo "/grtmp目录不存在,正在创建。。。"

          mkdir -p /usr/local/grtmp

fi

lua /usr/local/grtmp/allow_play.lua & >/dev/null

if [ "$?" -eq 0 ]

          then

          echo "$HN-ok-lua版本标准"

else

          echo "$HN-err-lua版本异常!!"

fi

lua_pack=`rpm -qa | grep lua |wc -l`

if [ "$lua_pack" -ge 2 ]

          then

          echo "$HN-ok-有lua包版本为-lua-devel-5.1.4-15.el7.x86_64"

          echo "$HN-ok-有lua包版本为-lua-5.1.4-15.el7.x86_64"

else

          echo "$HN-err-无lua包-所需版本lua-devel-5.1.4-15.el7.x86_64!!"

          echo "$HN-err-无lua包-所需版本lua-5.1.4-15.el7.x86_64!!"

fi

 

#检查ops程序有没有启动

if [ "$(ps -ef | grep -v grep|grep ops-agent |wc -l)" -eq 0 ];then

          echo "$HN-err-ops程序可能没启动,请检查!!"

else

          echo "$HN-ok-ops程序已启动"

fi

#HN=`cat /etc/hostname`

#crontab数目取自点播源站crontab标准数为参照115.231.46.247

function crontab_cs

{

                   cron_num=`cat /var/spool/cron/root | grep -v "^$" | grep -v "#"| wc -l`

if [ "$cron_num" -eq 0 ];then

       echo -e "$HN-err-没有配置cron计划任务"

elif [ "$cron_num" -lt 28 ];then

       echo -e "$HN-tips-cron计划任务少于28个!!"

fi

}

#战旗gpush设备判断crontab数目函数

function zq_gpush

{

                   zqgpush=`s crontab -l|grep gpush|grep -v '^#'|wc -l`

if [ "$zqgpush" -eq 2 ];then

       echo "$HN-ok-为战旗gpush设备(计划任务数目达标)"

       else

       echo "$HN-err-战旗gpush设备计划任务数目未达标!!"

fi

}

#调用战旗gpush设备crontab函数

for i in "ASCCD1C003020P" "OHGXX1C005569P" "KJSWX1K009315P" "AGDHZ1C002143P" "ASHXX1C006967P" "AZJHZ1C001645P" "ATJXX1C005541P"

       do

       if [ $i == $HN ];then

       zq_gpush

       fi

       done

#调用点播源站crontab标准数

if [ "$HN" != "ASCCD1C003020P" -a "$HN" != "OHGXX1C005569P" -a "$HN" != "KJSWX1K009315P" -a "$HN" != "AGDHZ1C002143P" -a "$HN" != "ASHXX1C006967P" -a "$HN" != "AZJHZ1C001645P" -a "$HN" != "ATJXX1C005541P" ];then

       crontab_cs

       echo -e "$HN-本机crontab数目为:$cron_num"

fi

       echo -e "\033[5;31m↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓$HN-warning-请浏览确认本机crontab配置↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓\033[0m"

s crontab -l | grep -v "^$"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值