MySQL定时同步数据库脚本_定时检测mysql同步状态的shell脚本

本文提供了一个用于实时检测MySQL从库状态的shell脚本,包括检查数据库是否运行、主从同步是否正常,并通过邮件发送警告。脚本涉及设置用户名、密码、端口、IP地址以及邮件通知等关键部分。
摘要由CSDN通过智能技术生成

实时检测mysql同步状态的shell脚本:

复制代码 代码示例:

#!/bin/sh

#check MySQL_Slave Status

#crontab time 00:10

MYSQL_USER="root"

MYSQL_PWD="123456"

MYSQL_SLAVE_LOG="/tmp/check_mysql_slave.log"

EMAIL="1351010****@139.com"

MYSQL_PORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "]+ '{print $5}'`

MYSQL_IP=`ifconfig eth0|grep "inet addr" | awk -F[:" "]+ '{print $4}'`

MYSQL_SLAVE_STATUS=$(/usr/local/webserver/mysql/bin/mysql -u root -psylc23hua -S /tmp/mysql.sock -e "show slave status\G" | grep -i "running")

IO_ENV=`echo $MYSQL_SLAVE_STATUS | grep IO | awk ' {print $2}'`

SQL_ENV=`echo $MYSQL_SLAVE_STATUS | grep SQL | awk '{print $2}'`

NOW=$(date -d today +'%Y-%m-%d %H:%M:%S')

if [ "$MYSQL_PORT" = "3306" ];then

echo "mysql is running!"

else

mail -s "warn!server: $MYSQL_IP mysql is down" "$EMAIL"

fi

if [ "$IO_ENV" = "Yes" -a "$SQL_ENV" = "Yes" ];then

echo "Slave is running!"

else

echo "[ $NOW ] Slave is not running!" >> "$MYSQL_SLAVE_LOG"

cat "$MYSQL_SLAVE_LOG" | mail -s "WARN! ${MySQL_IP}_replicate_error" "$EMAIL"

fi

exit 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值