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 03 Python
python正则表达式的使用
Jun 12 Python
Python中关于Sequence切片的下标问题详解
Jun 15 Python
Python使用matplotlib绘制三维图形示例
Aug 25 Python
Python使用logging模块实现打印log到指定文件的方法
Sep 05 Python
详解python编译器和解释器的区别
Jun 24 Python
Python包,__init__.py功能与用法分析
Jan 07 Python
python判断两个序列的成员是否一样的实例代码
Mar 01 Python
python 通过邮件控制实现远程控制电脑操作
Mar 16 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 Python
教你怎么用Python监控愉客行车程
Apr 29 Python
python接口测试返回数据为字典取值方式
Feb 12 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
php设计模式之单例模式代码
2016/06/11 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
Code:findPosX 和 findPosY
2006/12/20 Javascript
Javascript 获取链接(url)参数的方法
2009/02/15 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
Angular2  NgModule 模块详解
2016/10/19 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
Python实现将绝对URL替换成相对URL的方法
2015/06/28 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
python requests post多层字典的方法
2018/12/27 Python
python实现简单聊天室功能 可以私聊
2019/07/12 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
tensorflow自定义激活函数实例
2020/02/04 Python
python实现TCP文件传输
2020/03/20 Python
python网络编程:socketserver的基本使用方法实例分析
2020/04/09 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
WatchShop法国:英国排名第一的独立手表零售商
2020/02/17 全球购物
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
linux面试题参考答案(3)
2012/09/13 面试题
运动会广播稿60字
2014/01/15 职场文书
营销总经理岗位职责
2014/02/02 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
茶楼服务员岗位职责
2015/02/09 职场文书
python字典进行运算原理及实例分享
2021/08/02 Python
Python Flask实现进度条
2022/05/11 Python