a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 66|回复: 0

[综合辅导] Linux辅导:自动监控从MySQL同步的脚本

[复制链接]
发表于 2012-8-4 12:07:07 | 显示全部楼层 |阅读模式
笔者有不少基于公网类型的网站(没有硬件防火墙,直接置于IDC机房)做的都是MySQL主从架构,从机首要起备份数据库和冷备份的浸染,虽然从机宕机了问题不大,但也影响数据的备份工作;这样的网站稀有十个,如不美观一个一个手动的搜检,天天都要华侈不少时刻,所以设计了一个自动监控从MySQL同步的剧本。   剧本设计思绪:
& Z4 F# _; |) o; Z, x  1、此剧本应该能顺应各类各样分歧的内外网情形,即IP分歧的情形;7 W. x# n* O+ n" v1 `7 `. r) n. {+ ^
  2、让剧本也顺便监控下MySQL是否正常运行;, ], W/ J2 M; ]6 y+ c& h- r$ W
  3、Slave机械的IO和SQL状况都必需为YES,缺一不成,这里用到了多重前提判定-a.
" r, q% G3 S( W. z% x  剧本内容:! ~" Q" P) M* ]2 c4 [
  #!/bin/bash #check MySQL_Slave Status #crontab time 00:10 MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F+ '{print $4}'` MYSQLIP=`ifconfig eth0|grep "inet addr" | awk -F+ '{print $4}'` STATUS=$(/usr/local/webserver/mysql/bin/mysql -u yuhongchun -pyuhongchun101 -S /tmp/mysql.sock -e "show slave statusG" | grep -i "running"): f) U8 Q5 l  M1 S& [) M7 Y, G
  IO_env=`echo $STATUS | grep IO | awk  ' {print $2}'` SQL_env=`echo $STATUS | grep SQL | awk  '{print $2}'`& g$ U( w4 B, z1 i; o( f2 T
  if then echo "mysql is running" else mail -s "warn!server: $MYSQLIP mysql is down" fi5 A% E4 p, T' W6 o6 p; @

+ ~# B7 z% s) K* A- h  if then echo "Slave is running!" else echo "#######  $date  #########">> /data/data/check_mysql_slave.log echo "Slave is not running!" >> /data/data/check_mysql_slave.log mail -s "warn! $MySQLIP_replicate_error"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-21 13:53 , Processed in 0.224466 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表