使用paramiko模块登录远程主机,对日志进行统计分析。

import paramiko

def batch_count(days, hours, ips, user, passwd, source_path, dest_path, port=22):
for ip in ips:
count(days, hours, ip, user, passwd, source_path, dest_path, port=22) def count(days, hours, ip, username, password,source_path, dest_path, port=22):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(ip,port,user,passwd)
num = []
for day in days:
cmd1 = "grep \"%s/May/2018:\" %s/access.log | grep \"404\" > %s/day%s.log" %(day, source_path, dest_path, day)
print cmd1
stdin, stdout, stderr = ssh.exec_command(cmd1)
tmp = []
for hour in hours:
cmd2 = "grep \"%s/May/2018:%s\" %s/day%s.log |wc -l" %(day, hour, dest_path, day)
print cmd2
stdin, stdout, stderr = ssh.exec_command(cmd2)
out = stdout.readline().strip()
tmp.append(out)
num.append(tmp)
draw(num, days, hours, ip)
output(num, days, hours, ip) def draw(table, days, hours, ip):
print ip
print ' ',
for i in hours:
print '%6s' %i ,
print '%6s' %'sum' ,
print ''
for i in range(len(days)):
print 'D%s' % days[i] ,
sum = 0
for j in range(len(hours)):
sum = sum + int(table[i][j].encode("utf-8"))
print '%6s' % table[i][j] ,
print '%6d' % sum,
print "" def output(table,days,hours,ip):
with open('./count.log','aw') as f:
f.write('%s\n' % ip)
f.write('%5s' % '')
for i in hours:
f.write('%6s' % i)
f.write('%6s' % 'sum')
f.write("\n")
for i in range(len(days)):
f.write('day%s' % days[i])
sum = 0
for j in range(len(hours)):
sum = sum + int(table[i][j].encode("utf-8"))
f.write('%6s' % table[i][j])
f.write('%6d' % sum)
f.write("\n") if __name__ == '__main__':
days = ['','','']
hours = ['','','','','','','','','']
ips = ['132.121.89.65','132.121.89.66']
user = 'opan'
passwd = '1*p%N0z9'
source_path = '/data1/logs/nginx'
dest_path = '/home/opan'
batch_count(days, hours, ips, user, passwd, source_path, dest_path, port=22)

Python paramiko模块基本使用(一)的更多相关文章

  1. Python Paramiko模块与MySQL数据库操作

    Paramiko模块批量管理:通过调用ssh协议进行远程机器的批量命令执行. 要使用paramiko模块那就必须先安装这个第三方模块,仅需要在本地上安装相应的软件(python以及PyCrypto), ...

  2. python paramiko模块学习分享

    python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...

  3. Python paramiko 模块

    paramiko模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: import paramiko # 创建SSH对象 ssh ...

  4. Python Paramiko模块

    代码来自:http://www.cnblogs.com/wupeiqi/articles/4356675.html 今天学到了一个运维方面的利器:python的paramiko模块. paramiko ...

  5. python paramiko模块简介

    一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...

  6. Python Paramiko模块安装和使用

    1.简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了. 使用par ...

  7. python paramiko 模块简单介绍

    背景,公司的很多服务包括数据库访问都需要通过跳板机访问,为日常工作及使用带来了麻烦,特别数python直接操作数据更是麻烦了,所以一直想实现python 通过跳板机访问数据库的操作. 首先了解到了 p ...

  8. python paramiko模块简介及安装

    一:简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...

  9. python paramiko模块SSH自动登录linux系统进行操作

    1). Linux系统首先要开启SSH服务:service ssh status 如果没安装的话,则要:apt-get install openssh-server service ssh resta ...

随机推荐

  1. 学习笔记CB005:关键词、语料提取

    关键词提取.pynlpir库实现关键词提取. # coding:utf-8 import sys import importlib importlib.reload(sys) import pynlp ...

  2. python bif

    filter(过滤器):   语法:         filter(function, iterable)         funciton 为判断函数         iterable 为可迭代对象 ...

  3. 【缓存】介绍和使用场景 MEMCACHE REDIS

    缓存缓存就是在内存中存储的数据备份,当数据没有发生本质改变的时候,我们就不让数据的查询去数据库进行操作,而去内存中取数据,这样就大大降低了数据库的读写次数,而且从内存中读数据的速度比去数据库查询要快一 ...

  4. Assembly Experiment5

    Answer to the experiment(1),(2),(3),(4) Experiment(5): Screenshots&Results: from the command u w ...

  5. Mysql逆向工程效率神器之使用IDE自动生成Java实体类

    Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数据库 菜单View→Tool Windows→Dat ...

  6. Linux 配置SSH免密登陆

    1.在hadoop01服务器上 通过ssh -keygen 生成公私钥  [ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa] 2.把公钥给hadoop02服务器 3. ...

  7. 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?

    https://blog.csdn.net/Iperishing/article/details/86674084

  8. Django学习笔记之视图高级-错误处理

    错误处理 在一些网站开发中.经常会需要捕获一些错误,然后将这些错误返回比较优美的界面,或者是将这个错误的请求做一些日志保存.那么我们本节就来讲讲如何实现. 常见的错误码 404:服务器没有指定的url ...

  9. linux中脚本在任意目录执行

    完成了一个脚本,find.sh 如果希望可以再linux系统中任何位置都可以执行该脚本,可以执行下面操作 1. chmod 775 find.sh 给该脚本增加可执行权限 2. export PATH ...

  10. WIN10X64_LTSB2016极限精简版by双心

    WIN10X64LTSB2016极限精简版by双心http://www.cnblogs.com/liuzhaoyzz/p/9162113.html 一.前言:关于极限精简版的说明 本系统为极限精简版, ...