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文件操作相关知识点总结整理
Feb 22 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
Python对象属性自动更新操作示例
Jun 15 Python
Python 获取div标签中的文字实例
Dec 20 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
Dec 22 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
Python调用百度根据经纬度查询地址的示例代码
Jul 07 Python
PyTorch中反卷积的用法详解
Dec 30 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
Feb 11 Python
Python startswith()和endswith() 方法原理解析
Apr 28 Python
python怎么调用自己的函数
Jul 01 Python
python模板入门教程之flask Jinja
Apr 11 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简单判断文本编码的方法
2015/07/30 PHP
javascript window对象属性整理
2009/10/24 Javascript
关于锚点跳转及jQuery下相关操作与插件
2012/10/01 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
详解vue-router基本使用
2017/04/18 Javascript
Angular4编程之表单响应功能示例
2017/12/13 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
jQuery封装animate.css的实例
2018/01/04 jQuery
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
django model去掉unique_together报错的解决方案
2016/10/18 Python
Python用threading实现多线程详解
2017/02/03 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
Python代码太长换行的实现
2019/07/05 Python
python中必要的名词解释
2019/11/20 Python
python enumerate内置函数用法总结
2020/01/07 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
数字漫画:comiXology
2020/06/13 全球购物
大四自我鉴定范文
2013/10/06 职场文书
酒店服务与管理毕业生求职信
2013/11/02 职场文书
授权委托书公证
2014/09/14 职场文书
2014年教师业务工作总结
2014/12/19 职场文书
文艺晚会开场白
2015/05/29 职场文书
2015小学师德工作总结
2015/07/21 职场文书
公司业务员管理制度
2015/08/05 职场文书
商务宴会祝酒词
2015/08/11 职场文书
一文搞懂MySQL索引页结构
2022/02/28 MySQL
python运算符之与用户交互
2022/04/13 Python