您的位置:首页 > 运维架构 > Linux

利用python多线程执行远程linux上命令

2015-09-11 09:26 591 查看
#!/usr/bin/python #-*- coding: utf-8 -*-import paramikoimport threading
def ssh2(ip,username,passwd,cmd): try: ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect(ip,22,username,passwd,timeout=5) for m in cmd: stdin, stdout, stderr = ssh.exec_command(m) #stdin.write("Y") #简单交互,输入 ‘Y’ out = stdout.readlines() #屏幕输出 for o in out: print o, print '%s\tOK\n'%(ip) ssh.close() except : print '%s\tError\n'%(ip)
if __name__=='__main__': cmd = ['cal','echo hello!']#你要执行的命令列表 username = "root" #用户名 passwd = "123456" #密码 threads = [] #多线程 print "Begin......" for i in 90,98,99: ip = '10.1.196.'+str(i) a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd)) a.start() threads.append(a) # 等待所有线程完成 for t in threads: t.join() print "Exiting Main Thread"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: