`
zhengdl126
  • 浏览: 2538956 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

mysql同步检测的sh脚本

阅读更多

-----------正式

 

#!/bin/bash
# check mysql slave status
# crontab time 00:08
# path 80 /data0/sh/shell_mysql_slave.sh

# log path /data0/mysql/3306/check_mysql_slave.log

mysql_path=/usr/local/webserver/mysql/bin/mysql
user="admin"
password="password"
email=test@qq.com
date=`(date +%y-%m-%d--%H:%M:%S)`
ip=$(/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}' | head -1) 
Slave_IO_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_IO_Running" | awk '{print $2}')
Slave_SQL_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_SQL_Running" | awk '{print $2}')
if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]
then
  echo "Slave is running!"
else
  echo "#######  $date  #########">> /data0/mysql/3306/check_mysql_slave.log
  echo "Slave is not running!" >> /data0/mysql/3306/check_mysql_slave.log
  /bin/mail -s {$ip}_replicate_error $email
fi

 

 

 

 

 

 

 

 

 

 

 

---------------原始

 

#!/bin/bash
mysql_path=/usr/local/mysql/bin/mysql
user="root"
password="123456"
email=test@qq.com
date=`(date +%y-%m-%d--%H:%M:%S)`

 

#取得内网ip
ip=$(/sbin/ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}' | head -1) 

 

# 取得Slave_IO_Running状态值

# # /usr/local/webserver/mysql/bin/mysql -uadmin -padmin -e 'show slave status\G' | grep "Slave_IO_Running" | awk '{print $2}'

#Yes

Slave_IO_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_IO_Running" | awk '{print $2}')
Slave_SQL_Running=$($mysql_path -u$user -p$password -e 'show slave status\G' | grep "Slave_SQL_Running" | awk '{print $2}')
if [ "$Slave_IO_Running" = "Yes" -a "$Slave_SQL_Running" = "Yes" ]
then
  echo "Slave is running!"
else
  echo "#######  $date  #########">> /var/log/mysql_slave.log
  echo "Slave is not running!" >> /var/log/mysql_slave.log
  /bin/mail -s {$ip}_replicate_error $email
fi

 

分享到:
评论

相关推荐

    Shell脚本实现监控MySQL主从同步

    5. **邮件通知功能**:当检测到MySQL同步错误时,脚本会通过mailx命令发送邮件到管理员指定的邮箱地址。在邮件中包含了错误信息和当前的MySQL状态,以便管理员能够及时采取措施。 6. **定时任务的设置**:使用...

    常用shell 脚本,dos攻击防范,

    常用shell脚本, Dos攻击防范(自动屏蔽攻击IP).sh 一键部署等等 ...监控MySQL主从同步状态是否异常脚本.sh 目录文件变化监控和实时文件同步.sh 自动发布Java项目(Tomcat).sh 自动发布PHP项目脚本.sh

    canal实现mysql到ES数据实时同步

    - 运行Canal Adapter的启动脚本,如`bin/start.bat`或`bin/start.sh`,开始监听Canal Server的数据变更并进行同步。 6. **测试与监控**: - 观察Canal Server和Adapter的日志,确认数据同步是否正常。 - 使用...

    MySQL主从复制搭建 需要用到的脚本

    MySQL主从复制是一种常见的数据库高可用性和数据冗余策略,它允许数据在多个服务器之间同步,确保即使在主服务器故障时,从服务器也能接管服务,从而实现无中断的服务连续性。这里提到的“MySQL主从复制搭建 需要...

    Linux Shell脚本经典案例合集

    监控MySQL主从同步状态是否异常脚本.sh 秒传_18个Linux Shell脚本经典案例(视... 目录文件变化监控和实时文件同步.sh 批量创建100用户并设置密码脚本.sh 批量检测网站是否异常脚本.sh 批量主机远程执行命令脚本.sh ...

    02-基于Apache SeaTunnel的MySQL到Elasticsearch实时同步解决方案-线上 meetup11.16

    2. **安装插件**:使用 `install-plugin.sh` 脚本安装 JDBC 插件,确保包含 MySQL 驱动。 3. **配置文件**:编辑 `env`、`source`、`transform` 和 `sink` 部分,定义数据源、转换规则和目标存储。 4. **启动任务**...

    使用keepalived实现对mysql主从复制的主备自动切换.docx

    keepalived_check_mysql.sh脚本 keepalived_check_mysql.sh是mysql状态检测脚本,该脚本用于监控mysql的状态,一旦mysql不可用,keepalived就会自动切换到备用节点上。 结论 使用keepalived实现对mysql主从复制...

    MySQL数据库备份与还原脚本说明

    脚本名为`fullybackup.sh`,存放在`/back`目录下,需先创建该目录。脚本参数包括备份文件存放路径、数据库服务器名称、数据库名称、admin账号密码等。例如: ``` /usr/local/mysql/bin/mysqlhotcopy $dbname --...

    mysql备份脚本,

    以下是一个名为`mysqlBackup.sh`的MySQL全局备份脚本,它使用了不同的备份方法,并包含了日志记录功能。 首先,脚本定义了数据库的相关参数,如`DBName`(数据库名)、`DBUser`(数据库用户名)、`DBPasswd`...

    Linux-CentOS 7.6 系统初始化脚本

    内容概括:禁用防火墙,修改selinux,修改yum源,安装常用软件,同步系统时间,DNS域名配置,安装JDK-18,Tomcat,Mysql8,设置开机启动项-更新时间。 适合人群:Linux初学者 操作:用xftp将文件导入到Linux中,...

    运维脚本.zip(数据库同步,系统优化)

    mysql40做主从时主库的备份脚本 ,检查Linux系统日志error和mysql错误日志的,主要包括,游戏服务器端自动更新脚本,系统加固检查.sh,python自动创建mysql的从库脚本 检查mysql数据库主从重要表的数据一致性, 系统...

    自动化安装脚本:Jdk、Mysql、Tomcat.zip

    在这个文件夹中,我们可以期待找到如install_jdk.sh、install_mysql.sh、install_tomcat.sh这样的脚本,每一份脚本都会详细记录其对应组件的安装步骤和逻辑。 总结起来,这个压缩包提供了Java开发环境、数据库服务...

    mysql主主同步配置

    ### MySQL 主主同步配置详解 #### 一、概念与原理 在MySQL的主主同步配置中,两个服务器之间实现双向的数据复制,确保数据的一致性和高可用性。这种配置方式适用于对数据同步要求较高且希望避免单点故障的场景。 ...

    定时备份mysql数据库

    例如,在Linux环境下,我们可以创建一个名为`backup_mysql.sh`的bash脚本,内容如下: ```bash #!/bin/bash # MySQL服务器用户名 USER="username" # MySQL服务器密码 PASSWORD="password" # 要备份的数据库名 ...

    keepalive应用脚本

    在MySQL主从复制环境中,Keepalive脚本的作用是定期发送心跳信号,检测主从服务器之间的连接状态,确保数据同步的连续性。 **主从MySQL库** MySQL主从复制是一种常见的高可用性解决方案,它允许数据从一个服务器...

    cdh及其组件安装的shell脚本集合

    3. **startMysql.sh**:启动MySQL数据库服务的脚本,MySQL是常用的关系型数据库管理系统,在CDH中用于存储元数据和其他结构化数据。 4. **masterntp.sh**:NTP(网络时间协议)用于同步系统时钟,此脚本可能是配置...

    DBA日常维护常用脚本

    8. **数据迁移与同步脚本**: - `pg_dumpall` (PostgreSQL) 或 `mysqldump --all-databases` (MySQL):全库备份,用于数据迁移。 - `binlog` 分析与应用 (MySQL):用于主从复制的binlog解析和应用。 9. **数据库...

    CentOS下编写shell脚本来监控MySQL主从复制的教程

    目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1、创建脚本文件 vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代码 #!/bin/sh # check_mysql_slave...

Global site tag (gtag.js) - Google Analytics