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里将list中元素依次向前移动一位
Sep 12 Python
举例讲解Python中is和id的用法
Apr 03 Python
基于Python闭包及其作用域详解
Aug 28 Python
Python生成短uuid的方法实例详解
May 29 Python
python实现简易动态时钟
Nov 19 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
parser.add_argument中的action使用
Apr 20 Python
Django中的AutoField字段使用
May 18 Python
Python中zip函数如何使用
Jun 04 Python
Python Socket编程详解
Apr 25 Python
5个pandas调用函数的方法让数据处理更加灵活自如
Apr 24 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
How do I change MySQL timezone?
2008/03/26 PHP
php无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
php实现数组筛选奇数和偶数示例
2014/04/11 PHP
PHP7之Mongodb API使用详解
2015/12/26 PHP
PHP遍历目录文件的常用方法小结
2017/02/03 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
善用事件代理,警惕闭包的性能陷阱。
2011/01/20 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
jquery bind(click)传参让列表中每行绑定一个事件
2014/08/06 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
Bootstrap页面布局基础知识全面解析
2016/06/13 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
javascript回调函数的概念理解与用法分析
2017/05/27 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
超详细的5个Shell脚本实例分享(值得收藏)
2019/08/15 Javascript
python交互式图形编程实例(二)
2017/11/17 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
2018/06/22 Python
python编辑用户登入界面的实现代码
2018/07/16 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
python判断单向链表是否包括环,若包含则计算环入口的节点实例分析
2019/10/23 Python
Python3中的f-Strings增强版字符串格式化方法
2020/03/04 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
简单了解Python字典copy与赋值的区别
2020/09/16 Python
OpenCV灰度化之后图片为绿色的解决
2020/12/01 Python
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
大专应届生个人的自我评价
2013/11/21 职场文书
大二学期个人自我评价
2014/01/13 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
2019年度政务公开考核工作总结模板
2019/11/11 职场文书