python 遠(yuǎn)程統(tǒng)計(jì)文件
#!/usr/bin/python #encoding=utf-8 import time import os import paramiko import multiprocessing #統(tǒng)計(jì)文件數(shù)量 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() #存入統(tǒng)計(jì)結(jié)果 ipresultlist=['IP,FILEPATH,COUNT,TIMECOST\n'] #多進(jìn)程統(tǒng)計(jì) pool=multiprocessing.Pool(processes=6) #循環(huán)每一行進(jìn)行統(tǒng)計(jì) 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()
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
