zoukankan      html  css  js  c++  java
  • 九、Shell脚本高级编程实战第九部

    一、监控mysql主从同步是否异常,如果异常,发送短信给管理员

    1)开发一个守护进程脚本每30秒实现检测一次。

    2)如果错误号是:1158、1159、1008、1007、1062,请跳过

    3)请使用数组实现上述要求

    #!/bin/sh
    errorno=(1158 1159 1008 1007 1062)
    mysql_cmd=" mysql -uroot -poldboy124 -S /data/3307/mysql.sock"
    while true
    do
    flag=0
    array=($($mysql_cmd -e "show slave statusG"v|egrep '_Running|Behind_Master|SQL_Errno" |awk '{print $NF}'))
       if [ "${array[0]}" == "Yes" -a "${array[1]}" == "Yes" -a "${array[2]}" =="0" ]
         then    
           echo "Mysql slave is ok"
       else
           for((i=0;i<${#errorno[*]};i++))
           do
              if [ "${array[3]}" -eq "${errorno[$i]}" ];then
                  $mysql_cmd -e "stop slave &&set global sql_slave_skip_count=1;start slave;"
              fi
           done
                char="Mysql slave is not ok"
                echo "$char"
                echo "$char"|mail -s "$char" 828882@qq.com
             fi
    sleep 5
    done

    二、for循环打印下面这句话字母不大于6的单词

    #!/bin/sh
    arr=(I am oldboy teacher welcome to oldboy training class)
    for word in ${arr[*]}
    do
       if [ ${#word} -le 6 ]
       then
         echo $word
      fi
    done

    三、监控web站点下目录/var/html/www下所有文件是否被恶意篡改,如果有就打印改动的文件名(发邮件),定时任务每3分钟执行一次

    #!/bin/sh
    n=`cat check_site.log|wc -l`
    while true
    do
    f= md5sum -c md5sum.db 2>/dev/null|grep FAILED|wc -l
    find1=`find  ./apache2.2.27/  -type f|wc -l`
    log=/tmp/check.log
    if [ $f -ne 0 ] || [ `cat $path/new_site.log|wc -l` -ne $n ]
      then
        echo "md5sum -c md5sum.db 2>/dev/null|grep FAILED" >$log
        diff $path/check_site.log $path/new_site.log>>$log
        mail -s "site is cuangai  $(date)"<$log
    fi
    sleep 3
    done

    四、对于脚本的调试,要查看报错信息,保持好的开发脚本的习惯,思路要清晰。复杂脚本要简单化分段式实现脚本。

    1)使用dos2unix处理window下写的脚本

         dos2unix  xx.sh脚本进行文件格式化

    2)使用echo 在命令中进行调试

    3)sh -x :将脚本执行的内容和参数显示在屏幕上

    4)set -x(set +x):  可以进行调试脚本的范围

     最后:

    推荐书籍:  Unix shell 范例精解(第4版)

  • 相关阅读:
    SVN--代码状态检查(图文并茂)
    SVN服务器的环境搭建(图文并茂)
    SVN基本配置--创建版本库(图文并茂)
    GPS定位(GPS导航)GPS授时三者是一个概念吗?
    北斗授时服务器(北斗时钟服务器)助力工业组态监控系统
    浅谈PTP精密时钟同步(GPS北斗授时)原理及应用
    NTP时间同步服务器(时钟服务器)如何助力桥梁监控系统的?
    网络时间服务器(NTP服务器)应用铁路计算机联锁系统
    NTP时钟服务器(时钟系统)助力阜阳卷烟厂
    子母钟系统(GPS授时系统)工作模式介绍
  • 原文地址:https://www.cnblogs.com/dangjingwei/p/11620510.html
Copyright © 2011-2022 走看看