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 19 Python
分析Python中设计模式之Decorator装饰器模式的要点
Mar 02 Python
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
python用模块zlib压缩与解压字符串和文件的方法
Dec 16 Python
python的unittest测试类代码实例
Dec 07 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
Apr 19 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 Python
浅谈python新式类和旧式类区别
Apr 26 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
Python如何给你的程序做性能测试
Jul 29 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
Oct 16 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
drupal 代码实现URL重写
2011/05/04 PHP
PHP自动识别字符集并完成转码详解
2013/08/02 PHP
php+mysqli使用面向对象方式更新数据库实例
2015/01/29 PHP
[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
2017/06/30 PHP
Expandable "Detail" Table Rows
2007/08/29 Javascript
javascript闭包传参和事件的循环绑定示例探讨
2014/04/17 Javascript
jQuery中detach()方法用法实例
2014/12/25 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
jquery使用iscorll实现上拉、下拉加载刷新
2017/10/26 jQuery
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
2018/03/21 Javascript
微信小程序如何获取用户收货地址
2018/11/27 Javascript
JavaScript中的连续赋值问题实例分析
2019/07/12 Javascript
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
python中实现指定时间调用函数示例代码
2017/09/08 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python版大富翁源代码分享
2018/11/19 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
前端实现打印图像功能
2019/08/27 HTML / CSS
如何获取某个日期是当月的最后一天
2013/12/05 面试题
北大自主招生自荐信
2013/10/19 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
七夕活动策划方案
2014/08/16 职场文书
城管年度个人总结
2015/02/28 职场文书
2015年学生会工作总结范文
2015/03/31 职场文书
护理自荐信
2019/05/14 职场文书
企业转让协议书(范文2篇)
2019/08/15 职场文书
Redis集群的关闭与重启操作
2021/07/07 Redis
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android