首页 > 学院 > 开发设计 > 正文

python远程统计文件

2019-11-14 17:12:17
字体:
来源:转载
供稿:网友
#!/usr/bin/python#encoding=utf-8import timeimport osimport paramikoimport multiprocessing#统计文件数量def get_total(ip,passWord,filepath):    paramiko.util.log_to_file('paramiko.log')    ssh=paramiko.SSHClient()    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())    try:        starttime=time.time()        ssh.connect(hostname=ip,port=22,username='root',password=password)        #stdin,stdout,stderr = ssh.exec_command(str(len(os.listdir(filepath))))        stdin,stdout,stderr = ssh.exec_command('cd filepath ;ls |wc -l')        #PRint ip,filepath,stdout.read().strip('/n')        count=int(stdout.read().strip('/n'))        endtime=time.time()        caltime=endtime-starttime        result=ip+','+filepath.strip('/n')+','+str(count)+','+str(caltime)+'/n'        return result    except:        result=ip+','+filepath.strip('/n')+','+'failed'+'/n'        return result#读取ip、密码,ip.csv每一行为192.168.1.1,111111,/var 第一列是ip地址,第二例是密码,第三列是路径iplist=open('ip.csv').readlines()#存入统计结果ipresultlist=['IP,FILEPATH,COUNT,TIMECOST/n']#多进程统计pool=multiprocessing.Pool(processes=6)#循环每一行进行统计for ip in iplist:    ipin=ip.split(',')    pool.apply_async(ipresultlist.append(get_total(ipin[0],ipin[1],ipin[2])))pool.close()pool.join()#写入文件fp=open('tongji_log'+'_'+time.strftime('%Y%m%d%H%M%S',time.localtime())+'.csv','a+')fp.writelines(ipresultlist)fp.close()

 

  

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表