一、监控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 status\G"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):  可以进行调试脚本的范围

九、Shell脚本高级编程实战第九部的更多相关文章

  1. 二、Shell脚本高级编程实战第二部

    一.什么是变量? 变量就是一个固定的字符串替代更多更复杂的内容,当然内容里面可能还有变量.路径.字符串等等内容,最大的特点就是方便,更好开展工作 1.变量有环境变量(全局变量)和局部变量 环境变量就是 ...

  2. 四、Shell脚本高级编程实战第四部

    一.比较两个数的大小 #!/bin/shread -p "Pls input two num:" a b[ -z "$a" ] || [ -z "$b ...

  3. 一、Shell脚本高级编程实战第一部

    Shell脚本语言是实现linux系统自动化管理的重要且必要的工具,几乎每一个合格的linux系统管理员或者高级运维工程师都要熟练shell脚本语言的编写,只有这样才能提升工作效率,解决工作中的重复劳 ...

  4. 三、Shell脚本高级编程实战第三部

    保养好自己的发动机:身体的和心里的身体健康:打打球,跑跑步心里健康:多和大家接触,保持家人.朋友的良好关系一.$*和$@的区别   $*:获取shell的所有参数,将所有的参数视为单个字符串.   $ ...

  5. 七、Shell脚本高级编程实战第七部

    一.写网络服务的系统启动脚本 利用case语句开发类似系统启动rsync服务的脚本 代码: #!/bin/sah. /etc/init.d/functionspidfile="/var/ru ...

  6. 六、Shell脚本高级编程实战第六部

    一.写一个start_nginx脚本,当启动.停止.重启时利用系统函数模拟实现系统脚本启动的特殊颜色效果 (用if实现) #!/bin/sh. /etc/init.d/functions if [ $ ...

  7. 八、Shell脚本高级编程实战第八部

    一.使用for循环在/oldboy目录下创建10个文件名为oldboy-x的文件 #!/bin/sh[ ! -d /oldboy ] && mkdir -p /oldbfor i in ...

  8. 五、Shell脚本高级编程实战第五部

    一.条件表达式 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作.有时也和if结合,让我们方便判断. test: 1)判断文件是否存在:test -f  file 2) ...

  9. Shell脚本高级编程笔记一

     http://www.cnblogs.com/ygj0930/p/8184277.html 一:函数 1:创建函数 法一: function name{ commands } 法二: name() ...

随机推荐

  1. java 学生信息管理

    题目: 一.测试要求:      1.按照测试内容要求完成程序的设计与编程:      2.将最终结果的源文件(.java)文件上传到以班级为单位,保存源程序.      3.建立学号姓名文件夹,如: ...

  2. sql 左联 右联 内联的区别

    如有表a(col1,col2),a,1b,1 b(col1,col2)a,3c,2 内部联接是指只返回符合联接条件的资料,如select * from a join b on a.col1 = b.c ...

  3. 知乎live - 三年从前端小工到架构

    王利华   刚毕业 在高德 携程 淘宝    0-3年如何发展 1 技能和能力的区别    css js 抽象     切勿好高骛远 要重视基础 2 人和人的差距是什么    注意个人品牌    提高 ...

  4. 16 ~ express ~ 添加博客分类

    一,创建表结构  /schemas/categories.js var mongoose = require('mongoose')   module.exports = new mongoose.S ...

  5. C语言-逃逸字符、类型转换和布尔类型

    C语言-逃逸字符 逃逸字符是用来表达无法印出来的控制字符或者特殊字符,它由一个反斜杠""开头,后面跟上另一个字符,这两个字符合起来,组成一个字符. \b是backspace,在su ...

  6. 四、SAP中转义字符的使用和不同数据类型所占长度不同

    一.代码如下: 效果如下,注意看,数字类型占用了10个位置:

  7. SQLServer多条件查询技巧

    2019-10-15  13:31:04 在实际项目开发中,有很多页面都会出现多条件查询功能,类似于这种情况: 牵扯到数据就少不了数据库了.这么多条件的查询,如果要用常规的if else来写判断逻辑的 ...

  8. PAT Advanced 1043 Is It a Binary Search Tree (25) [⼆叉查找树BST]

    题目 A Binary Search Tree (BST) is recursively defined as a binary tree which has the following proper ...

  9. python 爬虫下载英语听力新闻(npr news)为mp3格式

    想通过听实时新闻来提高英语听力,学了那么多年的英语,不能落下啊,不然白费背了那么多年的单词. npr news是美国国家公共电台,发音纯正,音频每日更新,以美国为主,世界新闻为辅,比如最近我国武汉发生 ...

  10. 药物动力学|肿瘤药物基因组研究的策略|OMIM database|PharmGKB

    生命组学 同义突变虽然不改变蛋白质种类,但是影响量,修饰的稳定性. SNP vs mutation SNV单核苷酸变化,mutation,SNP是从群体角度思考的,约有1%,mutation比SNP还 ...