首页 > OOP语言 > 其它 > 正文

python多线程批量远程管理程序
2014-02-25 00:00:00   来源:www.bianceng.cn   评论:0 点击:

暂时无描述信息

python多线程批量远程管理程序

#!/usr/bin/env python
# this script comes from beijing oldboy trainning.
# e_mail:70271111@qq.com
# function: remote multi exec cmd by ssh.
# version:1.1
################################################
# oldboy trainning info.    
# QQ 80042789 70271111
# site:http://www.etiantian.org
# blog:http://oldboy.blog.51cto.com
# oldboy trainning QQ group: 208160987 45039636
################################################
import multiprocessing
import os,sys
import time
result = []
f = file('client.txt')
cmd = sys.argv[1]
excution_list = []
for line in f.readlines():
    f_line = line.strip().split()
    host = f_line[0]
    username = f_line[1]
    port = f_line[2]
    if f_line[3] == 'PASSWORD':
        password = f_line[4]
        call_ssh = 'python batch_ssh.py %s %s %s PASSWORD %s %s' %(host,username,port,password,cmd)
        print call_ssh
    else:
        call_ssh = 'python batch_ssh.py %s %s %s SSH_KEY %s' %(host,username,port,cmd)
    excution_list.append(call_ssh)
def run_cmd(run_task):
    os.system(run_task)
#print excution_list
p = multiprocessing.Pool(processes=len(excution_list))
for task in excution_list:
    result.append(p.apply_async(run_cmd,(task,)))
p.close()
for  r in result:
    r.get(timeout=10)

client.txt 是服务器的 ip 用户名 密码列表

batch_ssh.py 内容见http://oldboy.blog.51cto.com/2561410/1221129

本文出自 “老男孩linux运维” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/1221605

相关热词搜索:

上一篇:创建一个简单的 Compute Grid 并行批处理应用程序
下一篇:从Groovy到Java 8

分享到: 收藏