shell脚本监控mysql主从同步状态
最近给公司搭建了个基于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
效果如下:
希望这个脚本会让你满意,好了,本文就到这里了.



评论: