zoukankan      html  css  js  c++  java
  • python 远程统计文件

    #!/usr/bin/python
    #encoding=utf-8
    import time
    import os
    import paramiko
    import 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('
    ')
            count=int(stdout.read().strip('
    '))
            endtime=time.time()
            caltime=endtime-starttime
            result=ip+','+filepath.strip('
    ')+','+str(count)+','+str(caltime)+'
    '
            return result
        except:
            result=ip+','+filepath.strip('
    ')+','+'failed'+'
    '
            return result
    #读取ip、密码,ip.csv每一行为192.168.1.1,111111,/var 第一列是ip地址,第二例是密码,第三列是路径iplist=open('ip.csv').readlines()
    #存入统计结果
    ipresultlist=['IP,FILEPATH,COUNT,TIMECOST
    ']
    #多进程统计
    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()
      
  • 相关阅读:
    cscope
    C语言
    PMP-------框架
    shell--打开新的.sh文件,直接添加title
    工欲善其事,必先利其器
    同步异步阻塞非阻塞可中断的睡眠不可中断的睡眠
    内核--时间
    没有必要的事情,要学会适当忍让!
    嵌入式开发之CPU的那些事...
    互斥技术----原子变量和自旋锁
  • 原文地址:https://www.cnblogs.com/qq916653496/p/4500337.html
Copyright © 2011-2022 走看看