随笔分类 -  Python

摘要:背景: Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案,具体的安装和使用说明请见官网:http://open-falcon.org/,是一款比较全的监控。而且提供各种API,只需要把数据按照规定给出就能出图,以及报警、集群支持等等。 监控: 1) MySQL 收集信息脚本 阅读全文
posted @ 2017-03-30 12:39 jyzhou 阅读(12692) 评论(2) 推荐(0) 编辑
摘要:背景: 关于MySQL的审核的重要性就不说明了,本文的自动化审核是通过Inception和SQLAdvisor实现的,具体的使用可以看它们各自的说明文档。这里大致介绍下如何部署和使用它们,其实该文章也可以说成是如何在ubuntu下安装Inception和SQLAdivsor。本文的web平台是通过p 阅读全文
posted @ 2017-03-27 14:12 jyzhou 阅读(4932) 评论(3) 推荐(0) 编辑
摘要:背景: Redis 3.0之后支持了Cluster,大大增强了Redis水平扩展的能力。Redis Cluster是Redis官方的集群实现方案,在此之前已经有第三方Redis集群解决方案,如Twenproxy、Codis,与其不同的是:Redis Cluster并非使用Porxy的模式来连接集群节 阅读全文
posted @ 2017-03-02 12:19 jyzhou 阅读(17750) 评论(1) 推荐(5) 编辑
摘要:背景: 项目中遇到有些脚本需要通过后台进程运行,保证不被异常中断,之前都是通过nohup、&、screen来实现,带着能否做一个start/stop/restart/reload的服务启动的想法找到里Supervisor。关于supervisor的介绍在网上大致搜索总结如下: Supervisor是 阅读全文
posted @ 2016-11-18 11:01 jyzhou 阅读(98761) 评论(5) 推荐(12) 编辑
摘要:背景: 通常在UNIX下面处理文本文件的方法是sed、awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力。关于sed的说明可以看了解sed的工作原理,本文将介绍通过python的mmap模块来实现对大文件的处理,来对比看他们的差异。 说明: mmap是一种虚拟内存 阅读全文
posted @ 2016-11-17 11:48 jyzhou 阅读(25741) 评论(0) 推荐(4) 编辑
摘要:背景: 关于Fabric的介绍,可以看官网说明。简单来说主要功能就是一个基于Python的服务器批量管理库/工具,Fabric 使用 ssh(通过 paramiko 库)在多个服务器上批量执行任务、上传、下载。在使用Fabric之前,都用Python的paramiko模块来实现需求,相比之后发现Fa 阅读全文
posted @ 2016-11-11 21:58 jyzhou 阅读(6528) 评论(1) 推荐(3) 编辑
摘要:概念: 在了解了这篇文章之后,可以进行该篇文章的说明和测试。MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成。类似于MySQL的MMM架构。更多关于副本集的介绍请见官网。也可以在google、baidu上查... 阅读全文
posted @ 2014-02-20 11:01 jyzhou 阅读(36149) 评论(3) 推荐(10) 编辑
摘要:摘要: re模块包括操作正则表达式的函数,一些工作中都需要用到,现在说明下使用方法。使用说明:一,re模块下的函数: 函数 描述compile(pattern)创建模式对象search(pattern,string)在字符串中寻找模式match(pattern,string) 在字符串开始处匹配模式split(pattern,string)根据模式分割字符串findall(pattern,string)列表形式返回匹配项sub(pat,repl,string)pat匹配想用repl替换escape(string)特殊字符转义1,compile:>>> import re> 阅读全文
posted @ 2013-06-28 19:27 jyzhou 阅读(24538) 评论(1) 推荐(0) 编辑
摘要:摘要: markdown工具,可以将txt转化成html格式。这一类工具的作用是将按一定格式写成的可读性强的文本文件转化为结构化的标准xhtml或html。Linux 下面也有markdown:zhoujy@zhoujy:~$ markdown text > a.html具体说明见文档zhoujy@zhoujy:~$ man markdown 这里介绍python中的markdown模块的实现,具体的信息见:http://pythonhosted.org/Markdown/index.html1,安装:详情见:http://pythonhosted.org/Markdown/instal 阅读全文
posted @ 2013-06-26 17:55 jyzhou 阅读(19913) 评论(0) 推荐(1) 编辑
摘要:摘要: 用Python写脚本也有一段时间了,经常操作数据库(MySQL),现在就整理下对各类数据库的操作,如后面有新的参数会补进来,慢慢完善。 一,python 操作 MySQL:详情见:这里 mac 安装:http://sourceforge.net/projects/mysql-python/? 阅读全文
posted @ 2013-06-14 14:04 jyzhou 阅读(13823) 评论(0) 推荐(0) 编辑
摘要:介绍下Python 中 map,reduce,和filter 内置函数的方法:一:mapmap(...) map(function, sequence[, sequence, ...]) -> list说明: 对sequence中的item依次执行function(item),执行结果输出为list。例子:>>> map(str, range(5)) #对range(5)各项进行str操作['0', '1', '2', '3', '4'] #返回列表>>> def add( 阅读全文
posted @ 2013-06-07 16:37 jyzhou 阅读(15734) 评论(4) 推荐(3) 编辑
摘要:数据库迁移(A -> B),需要把用户也迁移过去,而用户表(mysql.user)有上百个用户。有2种方法进行快速迁移:1,在同版本的条件下,直接备份A服务器的mysql数据库,还原到B服务器。2,要是不同版本的数据(5.1 -> 5.5),很可能mysql数据库下面的一些表结构,甚至表数据的默认值都不一样,按照1的方法进行迁移,虽然最后也是可以正常访问,但是还是有些不太放心,很可能会影响到了B服务器上的MySQL,这样就需要用命令行来生成帐号了,这样是最安全和放心的。下面用python脚本来进行批量导出:#!/bin/env python# -*- encoding: utf-8 阅读全文
posted @ 2013-05-28 13:51 jyzhou 阅读(3578) 评论(0) 推荐(0) 编辑
摘要:Graphical interface wxPython http://wxpython.org Graphical interface pyGtk http://www.pygtk.org Graphical interface pyQT http://www.riverbankcomputing.co.uk/pyqt/ Graphical interface Pmw http://pmw.sourceforge.net/ Graphical interface Tkinter 3000 http://effbot.org/zone/wck.htm Graphical interface T 阅读全文
posted @ 2013-05-23 18:22 jyzhou 阅读(524) 评论(0) 推荐(0) 编辑
摘要:摘要: 平时运行一些脚本,需要把结果发送到邮箱,可以用python来处理,如下:1,有邮件服务器:#!/bin/env python# -*- encoding: utf-8 -*-#-------------------------------------------------------------------------------# Purpose: 发送邮件# Author: zhoujy# Created: 2013-05-07# update: 2013-05-07#--------------------------------------... 阅读全文
posted @ 2013-05-07 18:05 jyzhou 阅读(1807) 评论(0) 推荐(0) 编辑
摘要:把txt文本转换成xls的Excel的脚本:#!/bin/env python# -*- encoding: utf-8 -*-#-------------------------------------------------------------------------------# Purpose: txt转换成Excel# Author: zhoujy# Created: 2013-05-07# update: 2013-05-07#---------------------------------------------------------... 阅读全文
posted @ 2013-05-07 16:02 jyzhou 阅读(16238) 评论(0) 推荐(2) 编辑
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-# 2/10/16 base trans. wrote by srcdog on 20th, April, 2009# ld elements in base 2, 10, 16.import os,sys# global definition# base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F]base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A') 阅读全文
posted @ 2013-01-28 17:47 jyzhou 阅读(2557) 评论(0) 推荐(0) 编辑
摘要:颜色输出模块:termcolorhttp://pypi.python.org/pypi/termcolorfrom termcolor import coloredrandom 的 学习:#!/usr/bin/env python# -*- encoding: utf-8 -*import randomfrom termcolor import coloredbuytimes = 1try: times = input('想买几注(默认一注): ')except: times = 1while buytimes <= times: red = map(str,ran... 阅读全文
posted @ 2013-01-28 16:42 jyzhou 阅读(2461) 评论(0) 推荐(0) 编辑
摘要:摘要: 提高工作效率,完成一个SQL导出EXCEL的功能。虽然MySQL 可以直接生成excel,但是还是想通过python实现。知识点: 1,安装paramiko模块,参考:这里或则执行apt-get install python-paramiko,也可以在google上搜索相关文章。 2,安装x 阅读全文
posted @ 2013-01-11 23:02 jyzhou 阅读(1169) 评论(0) 推荐(0) 编辑
摘要:前言: 继上一篇MySQL【Delete误操作】回滚之后,现在介绍下Update回滚,操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里说明因为Update 操作的恢复方法:主要还是通过binlog来进行恢复 阅读全文
posted @ 2012-12-26 23:17 jyzhou 阅读(34996) 评论(2) 推荐(6) 编辑
摘要:前言: 操作数据库时候难免会因为“大意”而误操作,需要快速恢复的话通过备份来恢复是不太可能的,因为需要还原和binlog差来恢复,等不了,很费时。这里先说明下因为Delete 操作的恢复方法:主要还是通过binlog来进行恢复,前提是binlog_format必须是Row格式,否则只能通过备份来恢复数据了。方法: 条件:开启Binlog,Format为Row。 步骤:1.通过MySQL自带工具mysqlbinlog 指定导出操作的记录:mysqlbinlog --no-defaults --start-datetime='2012-12-25 14:56:00' --stop- 阅读全文
posted @ 2012-12-25 15:59 jyzhou 阅读(27914) 评论(1) 推荐(2) 编辑