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获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
简单介绍Python中的readline()方法的使用
May 24 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
用python实现百度翻译的示例代码
Mar 09 Python
Python 中的lambda函数介绍
Oct 10 Python
python基于socket进行端口转发实现后门隐藏的示例
Jul 25 Python
Python 元组操作总结
Sep 18 Python
python常用排序算法的实现代码
Nov 08 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 Python
Python还能这么玩之用Python做个小游戏的外挂
Jun 04 Python
Python函数中的不定长参数相关知识总结
Jun 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
2020显卡排行榜天梯图 显卡天梯图2020年3月最新版
2020/04/02 数码科技
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
PHP进制转换实例分析(2,8,16,36,64进制至10进制相互转换)
2017/02/04 PHP
php获取文件名称和扩展名的方法
2017/02/07 PHP
jquery 输入框数字限制插件
2009/11/10 Javascript
jQuery如何实现点击页面获得当前点击元素的id或其他信息
2014/01/09 Javascript
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
JS使用ajax方法获取指定url的head信息中指定字段值的方法
2015/03/24 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
2015/09/23 Javascript
使用jquery/js获取iframe父子级、同级获取元素的方法
2016/08/05 Javascript
js控制div层的叠加简单方法
2016/10/15 Javascript
基于EasyUI的基础之上实现树形功能菜单
2017/06/28 Javascript
JS对象与JSON互转换、New Function()、 forEach()、DOM事件流等js开发基础小结
2017/08/10 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
python编写暴力破解FTP密码小工具
2014/11/19 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
详解python的argpare和click模块小结
2019/03/31 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
pygame编写音乐播放器的实现代码示例
2019/11/19 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
SQL数据库笔试题
2016/03/08 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
医学生临床实习自我评价
2014/03/07 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
委托书怎样写
2014/08/30 职场文书
医生辞职信范文
2015/03/02 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
MYSQL如何查看进程和kill进程
2022/03/13 MySQL