如何使用python实现多线程批量远程管理?

    /    2019-02-13

如何使用python实现多线程批量远程管理?老男孩Python自动化运维课程编写了实现Python多线程批量远程管理程序,具体实现方式如下:

#!/usr/bin/env python
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)

(4)

分享至