python multiprocessi

发布时间:2019-09-16 07:33:19编辑:auto阅读(1480)

    import multiprocessing
    import time,datetime
    def Ssh_Cmd(host,CmdFile):
            elog = open('error.log','a+')
            log = open('7z.log',"a+")
            for Cmd in open(CmdFile).readlines():
                    Cmd = Cmd.strip() 
                    if not len(Cmd) or Cmd.startswith('#'): 
                            continue
                    ssh = paramiko.SSHClient()
                    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
                    try:
                            ssh.connect(hostname=host,port=22,username='root',password='password',timeout=10)
                    except Exception,e:
                            print 'connnet Fail %s' % host
                            elog.write('%s'%host)
                            elog.close()
                            continue
                    else:
                            print 'connnet Ok %s' % host
                    stdin,stdout,stderr=ssh.exec_command(Cmd)
                    log.write(stdout.read())
                    log.close()
    starttime = datetime.datetime.now()
    if __name__ == "__main__":
            os.remove('7z.log')
            os.remove('error.log')
            IplistFile='iplist.txt'
            CmdFile='config'
            result = []
            pool = multiprocessing.Pool(processes=8)
            for host in open(IplistFile).readlines():
                    pool.apply_async(Ssh_Cmd,(host,CmdFile,))
            pool.close()
            pool.join()
            print 'Done'
    endtime = datetime.datetime.now()
    print "time span",endtime-starttime

关键字

上一篇: python:Queue模块

下一篇: python调用外部命令