Controlled node slave.py
Copy the Code code as follows:
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 ()
Main control Node master.py
Copy the Code code as follows:
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)