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解析发往本机的数据包示例 (解析数据包)
Jan 16 Python
Python实现的下载网页源码功能示例
Jun 13 Python
Pyqt实现无边框窗口拖动以及窗口大小改变
Apr 19 Python
python线程池threadpool使用篇
Apr 27 Python
Jupyter中直接显示Matplotlib的图形方法
May 24 Python
python找出一个列表中相同元素的多个索引实例
Jun 11 Python
python pandas写入excel文件的方法示例
Jun 25 Python
python文件读写代码实例
Oct 21 Python
Python常用模块os.path之文件及路径操作方法
Dec 03 Python
Python定时任务APScheduler安装及使用解析
Aug 07 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
详解基于Facecognition+Opencv快速搭建人脸识别及跟踪应用
Jan 21 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邮件专题
2006/10/09 PHP
php分页函数完整实例代码
2014/09/22 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
2016/11/21 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
使用laravel的migrate创建数据表的方法
2019/09/30 PHP
jQuery 1.5最新版本的改进细节分析
2011/01/19 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
jQuery实现html元素拖拽
2015/07/21 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
2016/08/23 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
利用python将xml文件解析成html文件的实现方法
2017/12/22 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
Flask框架重定向,错误显示,Responses响应及Sessions会话操作示例
2019/08/01 Python
python yield关键词案例测试
2019/10/15 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
Python底层封装实现方法详解
2020/01/22 Python
Python爬虫之Spider类用法简单介绍
2020/08/04 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
门诊挂号室室长岗位职责
2013/11/27 职场文书
教师见习总结范文
2015/06/23 职场文书
Oracle笔记
2021/04/05 Oracle
webpack的移动端适配方案小结
2021/07/25 Javascript
Python 数据可视化之Seaborn详解
2021/11/02 Python