九、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 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" [email protected]
         fi
sleep 5
done

原文地址:https://www.cnblogs.com/dangjingwei/p/11620510.html

时间: 2024-10-09 22:51:49

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

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

一.什么是变量? 变量就是一个固定的字符串替代更多更复杂的内容,当然内容里面可能还有变量.路径.字符串等等内容,最大的特点就是方便,更好开展工作 1.变量有环境变量(全局变量)和局部变量 环境变量就是全局变量,可以在创建他们的shell及派生shell都可以用 局部变量只能在创建他们的shell中使用. 个人认为这个也不是很严谨,因为就像之前上篇讲到的,如果在某个脚本中定义了一个局部变量,例如:source   xx.sh   或者   .(点) xx.sh  呢?  同样可以调用脚本中的变量.

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

一.写一个start_nginx脚本,当启动.停止.重启时利用系统函数模拟实现系统脚本启动的特殊颜色效果 (用if实现) #!/bin/sh. /etc/init.d/functions if [ $# -ne 1 ]  then   echo "USAGE $0 {start|stop|restart}"   exit 1fi if [ "$1" == "start" ]  then    action "start nginx&qu

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

一.写网络服务的系统启动脚本 利用case语句开发类似系统启动rsync服务的脚本 代码: #!/bin/sah. /etc/init.d/functionspidfile="/var/run/rsyncd.pid"start_rsync(){if  [ -f "$pidfile" ]  then    echo "rsync is running"else   rsync --daemon   action "rsync is sta

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

一.条件表达式 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作.有时也和if结合,让我们方便判断. 例如: 1)判断文件是否存在:test -f  file 2)非的语法    test ! -f file 3)  判断 非空:  test -n  "$arg" 4)判断是否为0  test -z "$arg" 原文地址:https://www.cnblogs.com/dangjingwei/p/11610793.html

关于shell脚本基础编程第四篇

shell脚本基础编程第四篇本章主要内容:函数 函数 function:             function 名称 { 命令 ; } 或 name () { 命令 ; }           定义 shell 函数.               创建一个以 NAME 为名的 shell 函数.当作为一个简单的命令启用时,           NAME 函数执行调用 shell 的上下文中的 COMMANDs 命令.当 NAME           被启用时,参数作为 $1...$n 被传递

Shell 脚本之编程和变量(外加实战项目)

本章目的:学会编程规范,变量的相关脚本操作和知识 一.Shell 脚本的概述 二.Shell的作用 三.写第一个Shell脚本 1.写一个脚本(到BOOT目录,查看当前位置,以长格式友好显示VML开头的所有文件) [[email protected] ~]# vim aaa.sh "随意编一个空文件以.sh为结尾" /bin/bash "开头声明,固定格式" 一个脚本 "描述性信息可加可不加" cd /boot/ pwd ls -lh vml*

shell脚本高级进阶小总结

经过一周脚本的折磨,觉得还是有一定的收获,所以就把一些不容易理解的并且容易忘记的难点做一个总结.shell脚本中主要有两大模块,第一就是流程控制的脚本,第二就是函数控制的脚本. ▲首先,流程控制包括顺序执行,选择执行,循环执行.主要的条件语句就是if.那就来先说说if语句吧! 1.if语句分为单分支,双分支和多分支,并且可以嵌套. 2.多分支分为如下几种情况 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; then

shell脚本--lnmp架构-实战部署

 shell脚本实战                                 ----一键部署LNMP架构 LNMP使用shell实战部署,直接上主题,首先需要准备的包文件,我这里命名为zhunbei的文件. zhunbei文件内容: gcc gcc-c++ automake autoconf libtool make openssl openssl-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-d

Shell脚本的编程基础

程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程逻辑处理方式: 顺序执行 循环执行 选择执行 Shell编程:过程式.解释执行 编程语言的基本结构: 各种系统命令的组合 数据存储:变量.数组 表达式:a + b 语句:if shell脚本: 包含一些命令或声明,并符合一定格式的文本文件 格式要求:首行shebang机制 #!/bin/bash #!/usr/bin/python #!/us