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 相关文章推荐
在Docker上部署Python的Flask框架的教程
Apr 08 Python
浅谈Python中列表生成式和生成器的区别
Aug 03 Python
python3 实现的人人影视网站自动签到
Jun 19 Python
python3实现windows下同名进程监控
Jun 21 Python
Numpy中的mask的使用
Jul 21 Python
用python一行代码得到数组中某个元素的个数方法
Jan 28 Python
Python列表(List)知识点总结
Feb 18 Python
Python中dict和set的用法讲解
Mar 28 Python
python代码编写计算器小程序
Mar 30 Python
Pandas 解决dataframe的一列进行向下顺移问题
Dec 27 Python
解决Python在导入文件时的FileNotFoundError问题
Apr 10 Python
Python pathlib模块使用方法及实例解析
Oct 05 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
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
php笔记之:AOP的应用
2013/04/24 PHP
php字符串过滤与替换小结
2015/01/26 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PHP解密Unicode及Escape加密字符串
2015/05/17 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
PHP数组遍历的几种常见方式总结
2019/02/15 PHP
PHP dirname功能及原理实例解析
2020/10/28 PHP
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
2009/02/18 Javascript
JS.GetAllChild(element,deep,condition)使用介绍
2013/09/21 Javascript
一个Action如何调用两个不同的方法
2014/05/22 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
jQuery定义背景动态切换效果的方法
2015/03/23 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
vue-quill-editor实现图片上传功能
2017/08/08 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
浅谈Angular7 项目开发总结
2018/12/19 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
微信小程序开发之左右分栏效果的实例代码
2019/05/20 Javascript
[03:57]《不朽》——2015DOTA2国际邀请赛—中国军团出征主题曲MV
2015/07/15 DOTA
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
python hook监听事件详解
2018/10/25 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Python识别验证码的实现示例
2020/09/30 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
《大作家的小老师》教学反思
2014/04/16 职场文书
红色故事汇观后感
2015/06/18 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
Python图像处理之图像拼接
2021/04/28 Python
vue 自定义组件添加原生事件
2022/04/21 Vue.js