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备份Mysql脚本
Aug 11 Python
Python实现单词翻译功能
Jun 06 Python
替换python字典中的key值方法
Jul 06 Python
基于python实现聊天室程序
Jul 27 Python
Python设计模式之代理模式实例详解
Jan 19 Python
Python对象转换为json的方法步骤
Apr 25 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
Python解析命令行读取参数之argparse模块
Jul 26 Python
详解使用django-mama-cas快速搭建CAS服务的实现
Oct 30 Python
如何在Python 游戏中模拟引力
Mar 27 Python
Django实现微信小程序支付的示例代码
Sep 03 Python
在Python中字典按值排序的实现方法
Nov 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 stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
ThinkPHP中U方法的使用浅析
2014/06/13 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
setAttribute 与 class冲突解决
2008/02/17 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
Javascript实现网络监测的方法
2015/07/31 Javascript
js漂浮广告实现代码
2015/08/15 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
AngularJS学习笔记之依赖注入详解
2016/05/16 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
2016/10/21 Javascript
如何通过非数字与字符的方式实现PHP WebShell详解
2017/07/02 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
python进阶教程之动态类型详解
2014/08/30 Python
python利用正则表达式提取字符串
2016/12/08 Python
Python简单实现查找一个字符串中最长不重复子串的方法
2018/03/26 Python
python3爬虫之设计签名小程序
2018/06/19 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
python利用递归方法实现求集合的幂集
2020/09/07 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
navabi英国:设计师大码女装
2019/06/25 全球购物
中国跨镜手机配件批发在线商店:TVC-Mall
2019/08/20 全球购物
美国翻新电子产品商店:The Store
2019/10/08 全球购物
请解释在new与override的区别
2012/10/29 面试题
仲裁协议书
2014/09/26 职场文书
商铺门面租房协议书
2014/10/21 职场文书
护士自荐信怎么写
2015/03/06 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
springboot应用服务启动事件的监听实现
2022/04/06 Java/Android