一个简单的python写的C/S程序
时间:2010-10-13 来源:wcqniuniu
前段时间闲来无聊,打算学习下python,看了半个月的书,貌似啥都没学会。有个朋友让说,让我帮他写个批量管理linux服务器的程序,我一想就用python来写吧,于是看了下书,然后修修改改,一个socket程序就出来了。程序功能:可以对远程服务器实现批量操作,包括重启服务,查看系统信息,下载文件,删除文件等。程序只是实现了基本功能,还不是很完善,有待提高。附上源代码,欢迎指教!
server.py
#!/usr/bin/env python
import socket,os host=''
port=4567 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind((host,port))
s.listen(1) print "Server is running on port %d; press ctrl-c to terminate." % port while 1:
clientsock,clientaddr=s.accept()
print "connect from %s" % str(clientaddr)
clientfile=clientsock.makefile('rw',0)
data=clientsock.recv(1024)
command=os.popen(data).read()
clientfile.write("%s" % command)
clientfile.close()
clientsock.close() client.py #!/usr/bin/env python import socket,os,sys
#host=sys.argv[1]
port=4567
for host in os.popen('cat ip.list').readlines():
print host
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port)) while 1:
data=sys.argv[2]
if not data:
break
s.sendall(data)
data=s.recv(1024)
if not data:
break
print data
s.close() ip.list 1.1.1.1 2.2.2.2 使用方法,将server.py部署于目标主机上,执行server.py;客户端执行 python client.py ip.list "command"即可
import socket,os host=''
port=4567 s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
s.bind((host,port))
s.listen(1) print "Server is running on port %d; press ctrl-c to terminate." % port while 1:
clientsock,clientaddr=s.accept()
print "connect from %s" % str(clientaddr)
clientfile=clientsock.makefile('rw',0)
data=clientsock.recv(1024)
command=os.popen(data).read()
clientfile.write("%s" % command)
clientfile.close()
clientsock.close() client.py #!/usr/bin/env python import socket,os,sys
#host=sys.argv[1]
port=4567
for host in os.popen('cat ip.list').readlines():
print host
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port)) while 1:
data=sys.argv[2]
if not data:
break
s.sendall(data)
data=s.recv(1024)
if not data:
break
print data
s.close() ip.list 1.1.1.1 2.2.2.2 使用方法,将server.py部署于目标主机上,执行server.py;客户端执行 python client.py ip.list "command"即可
相关阅读 更多 +