会计考友 发表于 2012-8-4 12:07:07

Linux认证:自动监控从MySQL同步的脚本

笔者有不少基于公网类型的网站(没有硬件防火墙,直接置于IDC机房)做的都是MySQL主从架构,从机首要起备份数据库和冷备份的浸染,虽然从机宕机了问题不大,但也影响数据的备份工作;这样的网站稀有十个,如不美观一个一个手动的搜检,天天都要华侈不少时刻,所以设计了一个自动监控从MySQL同步的剧本。   剧本设计思绪:
  1、此剧本应该能顺应各类各样分歧的内外网情形,即IP分歧的情形;
  2、让剧本也顺便监控下MySQL是否正常运行;
  3、Slave机械的IO和SQL状况都必需为YES,缺一不成,这里用到了多重前提判定-a.
  剧本内容:
  #!/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")
  IO_env=`echo $STATUS | grep IO | awk' {print $2}'` SQL_env=`echo $STATUS | grep SQL | awk'{print $2}'`
  if then echo "mysql is running" else mail -s "warn!server: $MYSQLIP mysql is down" fi

  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"
页: [1]
查看完整版本: Linux认证:自动监控从MySQL同步的脚本