nics 发表于 2018-8-19 08:53:11

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

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

[*]  cat chk_mysql_rep.sh
[*]  #!/bin/bash
[*]  #
[*]  #script_name:chk_mysql_rep.sh
[*]  #check mysql replication
[*]  #
[*]  #last update 20130320 by dongnan
[*]  #bbs# http://bbs.ywwd.net/
[*]  #blog# http://dngood.blog.51cto.com
[*]  #
[*]  #ssh root@xen "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {print $2}'
[*]  #Yes
[*]  #Yes
[*]  #
[*]  #variables
[*]  ssh=/usr/bin/ssh
[*]  sh_dir=/root/sh/
[*]  crondir=${sh_dir}crontab
[*]  source ${sh_dir}CONFIG
[*]  hosts="$DB_SLAVE_HOSTS"
[*]  #main
[*]  #主循环遍历机器
[*]  for HOST in $hosts;do
[*]  log=$crondir/log/mysql_replication_error.log
[*]  key=$($ssh root@$HOST "/usr/local/mysql/bin/mysql -uroot -pdongnan -e 'show slave status\G' -ss" | awk '/Running:/ {printf $2}')
[*]  #无法连接的主机,跳过本次循环
[*]  test -z "$key" && continue
[*]  #返回结果真
[*]  if [ "$key" == "YesYes" ];then
[*]  #flag真,解除报警
[*]  if [ -f "${crondir}/log/$HOST.mysql" ];then
[*]  #sms
[*]  #for mobile in $MOBILES;do
[*]  #echo "$HOST replication ok" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
[*]  #done
[*]  #mail
[*]  for mail in $MAILS;do
[*]  echo "$HOST replication ok" | mail -s "$HOST replication ok" $mail
[*]  done
[*]  #flag
[*]  rm -f "${crondir}/log/$HOST.mysql"
[*]  fi
[*]  #返回结果假
[*]  else
[*]  check_date=$(date '+ %F %T')
[*]  #flag假,报警
[*]  if [ ! -f "${crondir}/log/$HOST.mysql" ];then
[*]  #sms
[*]  #for mobile in $MOBILES;do
[*]  #echo "$HOST replication error" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
[*]  #done
[*]  #mail
[*]  for mail in $MAILS;do
[*]  echo "$HOST replication error" | mail -s "$HOST replication error" $mail
[*]  done
[*]  #flag
[*]  echo "replication error" >"${crondir}/log/$HOST.mysql"
[*]  #log
[*]  echo "$check_date $HOST mysql replicaton error" >> $log
[*]  fi
[*]  fi
[*]  #
[*]  done
  #
  结束
  更多请:
  linux 系统运维37275208
  vmware 虚拟化166682360


页: [1]
查看完整版本: shell监控脚本-监控mysql 主从复制