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数据结构之二叉树的遍历实例
Apr 29 Python
零基础写python爬虫之抓取糗事百科代码分享
Nov 06 Python
python登录豆瓣并发帖的方法
Jul 08 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 Python
python基础教程之匿名函数lambda
Jan 17 Python
Python中标准模块importlib详解
Apr 16 Python
详解python中的 is 操作符
Dec 26 Python
微信跳一跳辅助python代码实现
Jan 05 Python
numpy的文件存储.npy .npz 文件详解
Jul 09 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
Python实现邮件发送的详细设置方法(遇到问题)
Jan 18 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
一个程序下载的管理程序(一)
2006/10/09 PHP
php 图片上添加透明度渐变的效果
2009/06/29 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
php支持中文字符串分割的函数
2015/05/28 PHP
php-fpm开启状态统计的方法详解
2017/06/23 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
JQuery的ajax获取数据后的处理总结(html,xml,json)
2010/07/14 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
js post提交调用方法
2014/02/12 Javascript
javascript实现在某个元素上阻止鼠标右键事件的方法和实例
2014/08/12 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
jquery点击缩略图切换视频播放特效代码分享
2015/09/15 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
浅谈angular.copy() 深拷贝
2017/09/14 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
详解Vue路由自动注入实践
2019/04/17 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
python实现简单的计时器功能函数
2015/03/14 Python
Linux中Python 环境软件包安装步骤
2016/03/31 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
python的sorted用法详解
2019/06/25 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
django执行数据库查询之后实现返回的结果集转json
2020/03/31 Python
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
制冷与电控专业应届生求职信
2013/11/11 职场文书
招商业务员岗位职责
2013/12/16 职场文书
初中同学聚会感言
2014/02/11 职场文书
体育口号大全
2014/06/18 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
课外活动实习计划
2015/01/19 职场文书
社区端午节活动总结
2015/02/11 职场文书
信用卡工资证明范本
2015/06/19 职场文书