首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >利用Python监测MySQL主从状态

利用Python监测MySQL主从状态

作者头像
py3study
发布于 2020-01-07 13:36:46
发布于 2020-01-07 13:36:46
89700
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:0
代码可运行

    探测MySQL主从状态,如果从未同步,则发邮件通知运维人员。利用定时任务秒级监测!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# -*- coding: utf-8 -*
#! /usr/bin/env python

from fabric.api import *
from fabric.colors import *
from fabric.context_managers import *
from fabric.contrib.console import confirm
import string
import smtplib

#client ip
env.port='9527'
env.user='dyt'
env.hosts=['192.168.129.138','192.168.129.139']
env.password='dyt2015'

#env.mysql_port = '3306'

@task
def check():
    slave_ip  = run("ip add|grep global")
    for ip in env.hosts:
        if ip in slave_ip:
            slave_ip = ip

    slave_io  = run("mysql -uroot -S /tmp/mysql_3306.sock -e 'show slave status\G'|grep Slave_IO_Running:|awk '{print $2}'")
    slave_sql = run("mysql -uroot -S /tmp/mysql_3306.sock -e 'show slave status\G'|grep Slave_SQL_Running:|awk '{print $2}'") 

    if slave_io == 'Yes' and slave_sql == 'Yes':
        pass
    else:
        HOST = "smtp.qq.com"
	    SUBJECT = "MySQL Master-Slave Warning . "
	    TO = "test@qq.com"
	    FROM = "test@qq.com"
	    text = "%-20s MySQL Master-Slave status : down" % slave_ip 
	    BODY = string.join((
            "From: %s" % FROM,
            "To: %s" % TO,
            "Subject: %s" % SUBJECT ,
            "",
            text
            ), "\r\n")
	    server = smtplib.SMTP()
	    server.connect(HOST,"25")
	    server.starttls()
	    server.login("test@qq.com","password")
	    server.sendmail(FROM, [TO], BODY)
	    server.quit()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/08/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
python Fabric使用详解及示例
abric是基于Python实现的SSH命令行工具,简化了SSH的应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括:命令执行、文件上传、下载及完整执行日志输出等功能。Fabric在Paramiko的基础上做了更高一层的封装,操作起来会更加简单
py3study
2020/01/06
2.3K0
python学习之认识fabric
Fabric is a Python (2.5-2.7) library and command-line tool for streamlining the use of SSH for application deployment or systems administration tasks.
py3study
2020/01/07
4160
自动化运维工具Fabric – 密码管理(env.password and ssh key)
在使用 Fabric 的过程中,如果大批量服务器处理的话,我们就需要针对配置主机的密码,每台主机的密码相同还好,不同的话,就需要针对不同的主机做配置了,以下有两种配置方式
星哥玩云
2022/07/03
7340
使用Fabric一键批量部署上线/线上环境监控
本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码。 前提条件: 1、运行fabric脚本的机器和其他机器tcp_port=22端口通 2、ssh可以登录,你有账号密码 一、先说批量部署上线 先上代码,再仔细讲解,脚本如下 # -*- coding:utf-8 -*- from fabric.colors import * from fabric.api import * from contextlib imp
用户1225216
2018/03/05
1K0
SSH连接与自动化部署工具parami
paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方法。可以实现远程命令执行,文件传输,中间SSH代理等功能,相对于Pexpect,封装层次更高。
py3study
2020/01/06
1.4K0
超简单的MySQL主从复制配置步骤
MySQL 估计就是俺的主战场了,看来得多收藏一些 MySQL 的技术教程才行。正愁没啥东西可以写,就先转载一篇超简单的 MySQL 主从复制的配置教程好了。 怎么安装 mysql 数据库,这里不说了
张戈
2018/03/23
1.1K0
MySQL主从复制之增强半同步(无损复制)、延迟复制和并行复制
MySQL有四种同步方式: 1、异步复制(Async Replication) 2、同步复制(sync Replication) 3、半同步复制(Async Replication) 4、增强半同步复制(lossless Semi-Sync Replication)、无损复制
AiDBA宝典
2023/04/26
8.1K0
MySQL主从复制之增强半同步(无损复制)、延迟复制和并行复制
Python 模块之fabric
Fabric是一个Python库和命令行工具,旨在为应用部署和系统管理任务的SSH的流水线式操作,使之更加高效和方便。Fabric提供了一套基本的执行本地和远程shell命令、上传和下载文件的操作,包括一些辅助函数,例如驱动正在运行的用户输入或者放弃执行。
py3study
2020/01/07
1.2K0
利用Python编写linux自动备份脚
  周末的时候帮朋友写了一个备份需求的脚本,现在整理一下,分享出来使用Python语言的Fabric模块,这里就不扫盲了,运维必用的Python模块;
py3study
2020/01/07
9390
Fabric:Python远程部署工具
Fabric是一个Python库和命令行工具,旨在为应用部署和系统管理任务的SSH的流水线式操作,使之更加高效和方便。Fabric提供了一套基本的执行本地和远程shell命令、上传和下载文件的操作,包括一些辅助函数,例如驱动正在运行的用户输入或者放弃执行。
py3study
2020/01/15
1.2K0
7 个日常实用的 Shell 拿来就用脚本实例!
前段时间给大家分享了《7 个非常实用的 Shell 拿来就用脚本实例!》和《超硬核!11 个非常实用的 Python 和 Shell 拿来就用脚本实例!》两篇原创文章,非常受读者欢迎,实用性比较强,有朋友说:让在分享点相关的脚本案例;
杰哥的IT之旅
2021/07/13
1.9K0
zabbix监控mysql主从
更改server、agent1、master、slave主机的/etc/hosts文件
Alone-林
2023/03/17
9840
zabbix监控mysql主从
【DB宝65】MySQL主从之多源复制(3主1从)搭建及同步测试
MySQL主从复制(MySQL Replication)是指从一个MySQL主服务器(master)将数据拷贝到另一台或多台MySQL从服务器(slaves)的过程。将主数据库的DDL和DML操作通过二进制日志(binlog)传到从服务器(slave)上,然后在从服务器上对这些日志重新执行,从而使得主从服务器的数据保持同步。 MySQL从3.23版本开始提供复制的功能。
AiDBA宝典
2021/07/29
2.1K0
Fabric远程自动化
运行结果: Hello world! Done. fab -f test.py hello (非默认fabfile.py需要指定)
以谁为师
2019/05/28
7070
MySQL高可用架构之Keepalived+主从架构部署
针对目前公司的数据库架构要做统计规划和调整,所以针对不同的业务环境要选择合适的架构就比较重要,同时作为运维人员又要考虑到维护的便捷性(不能做过多架构维护),最终停留在mha+vip/主从+vip/mycat集群/域名+主从这几种架构或组合,这里就分布对不同架构部署做下记录并对比起优劣,针对不同场景做出合适的选择。
星哥玩云
2022/08/16
7730
使用Keepalived实现MySQL主从高可用
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wzy0623/article/details/80916567
用户1148526
2019/05/25
4.2K0
Mysql MHA 架构介绍及实践
MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,由日本DeNA公司youshimaton(现就职于Facebook公司)开发,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件。
mikelLam
2022/10/31
1.5K0
Mysql MHA 架构介绍及实践
使用python对mysql主从进行监控
  */5 * * * * source ~/.bashrc && /usr/bin/python /lvdata/send_msg.py 
py3study
2020/01/19
1.6K0
使用python对mysql主从进行监控
shell+Python实现简单的链路监
背景:游戏公司,服务器上有充值服,世界服,经分服务器等,和前端的game有链接通信,为防止链接通信故障导致线上业务中断,需要一个小脚本时刻监控线上链接状况。
py3study
2020/01/06
4900
Mysql 主从一键部署
用shell脚本实现,部署mysql主从架构。 思路是这样的: 1)master.sh脚本用来安装master的mysql 2)然后通过expect脚本+rsync工具把slave.sh脚本、/etc/my.cnf、 /etc/init.d/mysqld 还有mysqldump下来的all.sql,以及在master下载下来的mysql二进制安装包传到slave上 3)通过expect脚本来运行slave.sh的脚本来安装,并且配置好主从,期间,用slave.tmp来记录master机子的binlog的状态
老七Linux
2018/05/31
1.9K0
相关推荐
python Fabric使用详解及示例
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档