python 远程统计文件代码分享

作者:hebedich 时间:2023-04-13 17:02:08 

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

以上所述就是本文的全部内容了,希望大家能够喜欢。

标签:python,远程统计文件
0
投稿

猜你喜欢

  • Python 弹窗设计小人发射爱心

    2021-07-16 14:41:01
  • Mysql DDL常见操作汇总

    2024-01-22 05:30:09
  • 浅谈Scrapy网络爬虫框架的工作原理和数据采集

    2023-08-24 22:17:21
  • 疯狂上涨的Python 开发者应从2.x还是3.x着手?

    2021-10-25 16:41:54
  • python 数字类型和字符串类型的相互转换实例

    2021-08-02 08:11:36
  • Python中zipfile压缩文件模块的基本使用教程

    2021-08-18 03:24:40
  • js关于 byval 与 byref 的区别

    2007-10-13 10:48:00
  • python查找指定具有相同内容文件的方法

    2023-08-14 17:20:04
  • Python对象循环引用垃圾回收算法详情

    2021-03-02 23:29:14
  • Pycharm没有报错提示(误触ignore)的完美解决方案

    2023-01-24 13:39:34
  • Python中pip安装非PyPI官网第三方库的方法

    2021-01-20 15:51:18
  • 浅析JavaScript中的常用算法与函数

    2024-05-03 15:32:53
  • 详解Python time库的使用

    2021-06-06 07:18:02
  • python 实现网上商城,转账,存取款等功能的信用卡系统

    2022-05-26 15:19:36
  • Python的dict字典结构操作方法学习笔记

    2022-10-27 10:56:21
  • pandas 实现将重复表格去重,并重新转换为表格的方法

    2023-09-09 05:26:58
  • JavaScript 判断日期格式是否正确的实现代码

    2011-07-05 12:37:44
  • Python中编写ORM框架的入门指引

    2021-06-21 04:20:59
  • Anaconda+Pycharm环境下的PyTorch配置方法

    2023-05-20 16:38:22
  • php中session_id()函数详细介绍,会话id生成过程及session id长度

    2023-11-24 08:01:00
  • asp之家 网络编程 m.aspxhome.com