shell脚本监控mysql主从同步状态

post by rocdk890 / 2016-12-19 16:49 Monday linux技术
  最近给公司搭建了个基于gtid的mysql主从,为了方便自己随时看主从是否同步成功,(其实也是自己懒),写了个监控mysql主从的shell脚本,该脚本可以每隔10s查看一次,当然只能监控从库的情况,只能说将就用,也不想写得太高级了.
    系统:centos 7 (64位)
    环境:mysql 5.6(gtid主从)
脚本内容:
cat /root/soft_shell/check_mysql_master_slave.sh
#!/bin/bash
mysql_user="root"
mysql_pass="password"
mysql_status=`netstat -nl | awk 'NR>2{if ($4 ~ /.*:3306/) {print "Yes";exit 0}}'`
while :
do
if [ "$mysql_status" == "Yes" ];then
  slave_status=`mysql -u${mysql_user} -p${mysql_pass} -e"show slave status\G" | grep "Running" | grep -v "Running_State"`
  slave_log=`mysql -u${mysql_user} -p${mysql_pass} -e"show slave status\G" | egrep -i "Master_Log_File|Relay_Master_Log_File|Read_master_log_Pos|Exec_Master_log_pos|Seconds_Behind_Master"`
  echo -e "\033[40;31m$slave_status\033[40;37m"
  echo -e "\033[40;32m$slave_log\033[40;37m"
else
  echo -e "\033[40;31mmysql is down!\033[40;37m"
  exit 1
fi
sleep 10
done

效果如下:
点击查看原图
希望这个脚本会让你满意,好了,本文就到这里了.
夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-679.html

标签: mysql shell 同步 状态 主从 gtid