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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:


注意:请先参考 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


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
SQL 关系型数据库 MySQL
说一下MySQL主从复制的原理?
【8月更文挑战第24天】说一下MySQL主从复制的原理?
29 0
|
7天前
|
存储 关系型数据库 MySQL
实战!MySQL主从复制一键搭建脚本分享
实战!MySQL主从复制一键搭建脚本分享
17 2
|
8天前
|
SQL 关系型数据库 MySQL
在Linux中,mysql 如何减少主从复制延迟?
在Linux中,mysql 如何减少主从复制延迟?
|
11天前
|
关系型数据库 MySQL Shell
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
MySQL回滚脚本: 误操作delete binlog回滚shell脚本
|
24天前
|
SQL 关系型数据库 MySQL
配置MySQL主从复制(一主一从)
配置MySQL主从复制(一主一从)
|
7天前
|
关系型数据库 MySQL 网络安全
MySQL主从复制详细教程
配置MySQL的主从复制是一个细致的过程,需要仔细遵循上述步骤进行。一旦配置完成并运行正常,主从复制将大大提高数据库的可用性和读写性能。在操作过程中,务必保持谨慎,确保数据的一致性和安全性。
22 0
|
30天前
|
关系型数据库 MySQL PHP
开发者必看:MySQL主从复制与Laravel读写分离的完美搭配
开发者必看:MySQL主从复制与Laravel读写分离的完美搭配
49 2
|
10天前
|
Ubuntu Linux Shell
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
在Linux中,如何使用shell脚本判断某个服务是否正在运行?
|
9天前
|
Java Shell Linux
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
关于如何使用Shell脚本来解析Linux系统中的应用服务日志,提供了脚本实现的详细步骤和技巧,以及一些Shell编程的技能扩展。
14 0
【Linux入门技巧】新员工必看:用Shell脚本轻松解析应用服务日志
下一篇
云函数