python自动化工具日志查询分析脚本代码实现


Posted in Python onNovember 26, 2013

受控节点slave.py

import socket
import re
class Log(object):
    file_list=['access.log','C:\\access.log']
    master_ip='192.168.0.103'
    def __init__(self):
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.bind(('',3333))
        s.listen(1)
        while True:
            conn,addr=s.accept()
            print addr[0]
            if addr[0]==self.master_ip:
                reg=conn.recv(1024)
                result=self.all_log(reg)
                conn.sendall(result)
            conn.close()
    def all_log(self,reg):
        logs=''
        for f in self.file_list:
            logs+='\n'+self.log_match(f,reg)
        return logs
    def log_match(self,f,reg):
        log_result='------------------------'+f+'------------------------'+'\n'
        fo=open(f,'r')
        line=fo.readline()
        rp=re.compile(reg)
        while line!='':
            log_match=rp.match(line)
            if log_match:
                log_result+='\n'+log_match.group()
            line=fo.readline()
        return log_result
if __name__=='__main__':
    ds=Log()

主控节点master.py

import socket
class SlvCluster(object):
    ip_list=['127.0.0.1']
    def __init__(self,reg):
        for ip in self.ip_list:
            self.single_slv(ip,reg)
    def single_slv(self,slv_ip,reg):
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.connect((slv_ip,3333))
        s.sendall(reg)
        print '-----------------------'+slv_ip+'--------------------------'
        print s.recv(102400)
        s.close()
if __name__=='__main__':
    reg=raw_input('Input the regular expression:')
    print '-----------Regular Expression: '+reg+'-----------------'
    sc=SlvCluster(reg)
Python 相关文章推荐
Python抓取京东图书评论数据
Aug 31 Python
Python编写屏幕截图程序方法
Feb 18 Python
Python中处理字符串之endswith()方法的使用简介
May 18 Python
Python爬取网页中的图片(搜狗图片)详解
Mar 23 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
PyQt5通信机制 信号与槽详解
Aug 07 Python
python被修饰的函数消失问题解决(基于wraps函数)
Nov 04 Python
Django操作session 的方法
Mar 09 Python
用Python自动清理系统垃圾的实现
Jan 18 Python
Golang Web 框架Iris安装部署
Aug 14 Python
python翻译软件实现代码(使用google api完成)
Nov 26 #Python
python高并发异步服务器核心库forkcore使用方法
Nov 26 #Python
跨平台python异步回调机制实现和使用方法
Nov 26 #Python
python连接池实现示例程序
Nov 26 #Python
使用python BeautifulSoup库抓取58手机维修信息
Nov 21 #Python
python BeautifulSoup使用方法详解
Nov 21 #Python
python装饰器使用方法实例
Nov 21 #Python
You might like
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
PHP中overload与override的区别
2017/02/13 PHP
JavaScript实现禁止后退的方法
2006/12/27 Javascript
jQuery 性能优化指南(3)
2009/05/21 Javascript
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
jQuery避免$符和其他JS库冲突的方法对比
2014/02/20 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
jQuery获取单选按钮radio选中值与去除所有radio选中状态的方法
2017/05/20 jQuery
jquery之基本选择器practice(实例讲解)
2017/09/30 jQuery
浅谈vue项目如何打包扔向服务器
2018/05/08 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
vue-cli 脚手架基于Nightwatch的端到端测试环境的过程
2018/09/30 Javascript
jQuery+css last-child实现选择最后一个子元素操作示例
2018/12/10 jQuery
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
微信小程序如何引用外部js,外部样式,公共页面模板
2019/07/23 Javascript
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
DTD的含义以及作用
2014/01/26 面试题
个人自我评价范文
2014/02/05 职场文书
统计系教授推荐信
2014/02/28 职场文书
物流管理系毕业生求职信
2014/06/03 职场文书
人事专员岗位职责说明书
2014/07/30 职场文书
法人授权委托书公证范本
2014/09/14 职场文书
2014统计局民主生活会对照检查材料思想汇报
2014/10/02 职场文书
销售会议开幕词
2015/01/28 职场文书
2015年超市员工工作总结
2015/05/04 职场文书
五年级作文之成长
2019/09/16 职场文书