#!/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('\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()

  

最新文章

  1. iOS、Xcode监测键盘的显示和隐藏变化,并获得键盘高度,改变tableView的frame和偏移
  2. win7无法保存打印机设置(错误0x000006d9)解决方法
  3. java 调用 scala
  4. PHP中使用Session配合Javascript实现文件上传进度条功能
  5. 使用GIT来管理代码的心得
  6. 分布式中,zookeeper的部署
  7. android 检查网络连接状态实现步骤
  8. spring和redis的整合-超越昨天的自己系列(7)
  9. RNA seq 两种计算基因表达量方法
  10. 【POJ1284】Primitive Roots 欧拉函数
  11. 使用jetty和mongodb实现简易网盘接口
  12. 最近一段时间get到的小知识(c++的)
  13. JQ判断浏览器以及版本
  14. java实现生产者/消费者的三种方式
  15. centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器
  16. Nginx虚拟主机 子文件单独配置
  17. 【LeetCode每天一题】Combinations(组合)
  18. i = i ++;的分解
  19. python函数中参数是如何传递的?
  20. 深入JavaScript模块化编程

热门文章

  1. Python 基础教程中的问题及解决方案(1)
  2. DataTables语言国际化
  3. NGINX的CORS--跨域访问配置
  4. 异曲同工的AWK语句,学习
  5. ActiveX,ATL和COM技术
  6. eclipse,tomcat部署web项目,以及本地文件访问
  7. x2engine
  8. 在 Ubuntu 12.04 上安装 GitLab6.0
  9. python之模块:decimal
  10. CentOS 恢复 rm -rf * 误删数据(转)