shell监控脚本-监控mysql 主从复制

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:


注意:请先参考 shell监控脚本-准备工作,监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试
#监控mysql 主从复制

 
  1. cat chk_mysql_rep.sh

  2. #!/bin/bash

  3. #

  4. #script_name:chk_mysql_rep.sh

  5. #check mysql replication

  6. #

  7. #last update 20130320 by dongnan

  8. #bbs# http://bbs.ywwd.net/

  9. #blog# http://dngood.blog.51cto.com

  10. #

  11. #ssh root@xen "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {print $2}'

  12. #Yes

  13. #Yes

  14. #

  15. #variables

  16. ssh=/usr/bin/ssh

  17. sh_dir=/root/sh/

  18. crondir=${sh_dir}crontab

  19. source ${sh_dir}CONFIG

  20. hosts="$DB_SLAVE_HOSTS"

  21. #main

  22. #主循环遍历机器

  23. for HOST in $hosts;do

  24. log=$crondir/log/mysql_replication_error.log

  25. key=$($ssh root@$HOST "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {printf $2}')

  26.    #无法连接的主机,跳过本次循环

  27.    test -z "$key" && continue

  28.    #返回结果真

  29.    if [ "$key" == "YesYes" ];then

  30.        #flag真,解除报警

  31.        if [ -f "${crondir}/log/$HOST.mysql" ];then

  32.            #sms

  33.            #for mobile in $MOBILES;do

  34.                #echo "$HOST replication ok" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode

  35.            #done

  36.            #mail

  37.            for mail in $MAILS;do

  38.                echo "$HOST replication ok" | mail -s "$HOST replication ok" $mail

  39.            done

  40.            #flag

  41.            rm -f "${crondir}/log/$HOST.mysql"

  42.        fi

  43.    #返回结果假

  44.    else  

  45. check_date=$(date '+ %F %T')

  46.        #flag假,报警

  47.        if [ ! -f "${crondir}/log/$HOST.mysql" ];then

  48.            #sms

  49.            #for mobile in $MOBILES;do

  50.                #echo "$HOST replication error" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode

  51.            #done

  52.            #mail

  53.            for mail in $MAILS;do

  54.                echo "$HOST replication error" | mail -s "$HOST replication error" $mail

  55.            done

  56.            #flag

  57.            echo "replication error" >"${crondir}/log/$HOST.mysql"

  58.            #log

  59.            echo "$check_date $HOST mysql replicaton error" >> $log

  60.        fi

  61.    fi

  62. #

  63. done


结束
更多请:  
linux 系统运维  37275208  
vmware 虚拟化  166682360


本文转自 dongnan 51CTO博客,原文链接:http://blog.51cto.com/dngood/1163567


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
23天前
|
弹性计算 Shell Perl
ecs服务器shell常用脚本练习(二)
【4月更文挑战第1天】shell代码训练(二)
106 1
|
26天前
|
Java Shell
SpringBoot启动脚本Shell
SpringBoot启动脚本Shell
17 0
|
3天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
16天前
|
负载均衡 容灾 关系型数据库
mysql主从复制
mysql主从复制
31 1
|
1月前
|
SQL 存储 运维
MySQL高可用性:主从复制和集群
MySQL高可用性:主从复制和集群
36 0
|
6天前
|
运维 监控 Shell
利用Shell脚本编写局域网监控软件:实时监测主机连接情况
本文介绍了如何使用Shell脚本创建一个局域网监控工具,以实时检查主机连接状态。脚本包括扫描IP地址范围检测主机可达性及使用`netstat`监控ESTABLISHED连接。此外,还展示了如何每60秒将连接数数据自动提交到指定网站API,以便实时跟踪网络活动。这个自动化监控系统有助于提升网络安全性和故障排查效率。
26 0
|
7天前
|
Shell
Shell脚本之流程控制语句
Shell脚本之流程控制语句
|
8天前
|
JSON 运维 监控
训练shell常用脚本练习(三)
【4月更文挑战第14天】shell代码训练(三)
27 1
|
12天前
|
存储 弹性计算 Shell
ecs服务器shell常用脚本练习(十)
【4月更文挑战第11天】shell代码训练(十)
143 0
|
12天前
|
弹性计算 Shell Go
ecs服务器shell常用脚本练习(九)
【4月更文挑战第10天】shell代码训练(八)
136 0