python编写脚本应用实例
2016-01-07 10:23
330 查看
这里主要记录工作中应用python编写脚本的实例。由于shell脚本操作数据库(增、删、改、查)并不是十分直观方便,故这里采用python监控mysql状态,然后将状态保存到数据库中,供前台页面进行调用显示。
1、监控mysql主从复制状态
1)创建保存主从复制状态的表
2)python脚本
1、监控mysql主从复制状态
1)创建保存主从复制状态的表
CREATE TABLE `slave_status` ( `id` int(11) NOT NULL AUTO_INCREMENT, `slave_host` char(15) NOT NULL, #从库主机ip `master_host` char(15) NOT NULL, #主库主机ip `value` int(11) NOT NULL, #返回值,2表示正常,0表示不正常 `created_date` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
2)python脚本
# coding:utf8 import mysql.connector import time ############################################################# #从库主机信息 ############################################################# hosts = ['192.168.245.131','192.168.245.132'] dbuser = 'root' password = 'root' port = 3306 ############################################################# #保存数据的主机信息 ############################################################# save_host = '192.168.245.129' save_dbuser = 'root' save_password = 'root' save_port = 3306 query = "show slave status" for host in hosts: try: conn_slave = mysql.connector.connect(host=host,port=port,user=dbuser,passwd=password,charset='utf8') conn_save = mysql.connector.connect(host=save_host,port=save_port,user=save_dbuser,passwd=save_password,charset='utf8') cur_slave = conn_slave.cursor() cur_save = conn_save.cursor() cur_slave.execute(query) results = cur_slave.fetchall() master_host = results[0][1] if results[0][10]=='Yes' and results[0][11] == 'Yes': insert_sql = "insert into a.slave_status(slave_host,master_host,value,created_date) values('%s','%s',2,NOW());" % (host,master_host) else: insert_sql = "insert into a.slave_status(slave_host,master_host,value,created_date) values('%s','%s',0,NOW());" % (host,master_host) cur_save.execute(insert_sql) conn_save.commit() except Exception as e: raise str(e) finally: cur_save.close() cur_slave.close() conn_save.close() conn_slave.close()
相关文章推荐
- 笨方法学Python(41-45)
- Python时间,日期,时间戳之间转换
- 用Python实现古诗词填字游戏(二)
- Python风格规范
- 4.3. The range() Function(range 函数)
- python高手之路python处理excel文件(方法汇总)
- python zip(), map()
- Python解析最简单的验证码
- 4.2. for Statements(for 语句)
- 4.1. if Statements(if 语句)
- Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)
- Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)
- 【LEETCODE】11-Container With Most Water [Python]
- python之路--线程和进程
- Python的垃圾回收机制
- Python web开源框架整理
- 持续集成学好jenkins之内置命令
- python基础知识——编码
- 持续集成学好jenkins之Git和Maven配置
- python 入门