Python自动巡检H3C交换机实现过程解析

1.通过netmiko模块登录交换机,协议ssh,执行收集信息命令,保存至txt文件

2.过滤txt文件中的内容,保存到excel,使用xlwt模块实现。

3.sendmai发送excel邮件。或者发送给钉钉机器人也可以

4.使用crond定时发送巡检报表。

代码如下

#!/usr/bin/python3
#H3c交换机
import time
from netmiko import ConnectHandler
now = time.strftime("%Y%m%d",time.localtime(time.time()))
log_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())

ip_list = [
  ['sw-001','192.168.1.1'],
  ['sw-002','192.168.1.2'],
]

SW = {
  'device_type':'hp_comware',
  'username':'admin',
  'ip':'',
  'password':"$password"
}

for ip_item in ip_list:
  SW['ip'] = ip_item[1]
  connect = ConnectHandler(**SW)
  print(log_time + 'Successfully connected to ' + ip_item[0])
  output = connect.send_command('system view')
  iproute = connect.send_command("display ip routing-table")
  version = connect.send_command('dis version')
  fan = connect.send_command('display fan')
  cpu = connect.send_command('display cpu-usage')
  mem = connect.send_command('display memory')
  env = connect.send_command('display environment')
  fo = open('xusj','w')
  fo.write(iproute)
  fo.write(fan)
  fo.write(cpu)
  fo.write(mem)
  fo.write(env)
  fo.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python使用paramiko模块通过ssh2协议对交换机进行配置的方法

    该代码用的是paramiko模块,python版本是python2.7 下面上源码 # -*- coding: utf-8 -*- import paramiko import time import os port = '22' username = '****' password = '****' ip = '****' # 测试用的交换机ip msg1flag = 0 mycmd1flag = 0 # 核心方法,该方法连接远程主机并打开一个终端,并将该终端返回 def msg1(ip,mp

  • Python中的正则表达式与JSON数据交换格式

    一.初识正则表达式 正则表达式 是一个特殊的字符序列,一个字符串是否与我们所设定的这样的字符序列,相匹配快速检索文本.实现替换文本的操作 json(xml) 轻量级 web 数据交换格式 import re a='C|C++|Java|C#||Python|Javascript' r= re.findall('Python',a) print(r) if len(r) > 0: print('字符串中包含Python') else: print('No') ['Python'] 字符串中包含Py

  • python代码 FTP备份交换机配置脚本实例解析

    代码如下 #!/bin/python #coding=utf-8 #python-version=2.75 #使用python2 from ftplib import FTP #引用ftplib库中的FTP功能模块,进行ftp下载使用 import time #引用time模块 import os #引用os模块 """ 使用字典,定义交换机主机,一个字典包含多个键 ,一个键使用一个列表,包含多个主机地址按照实际情况定义 """ dic = {

  • Python 实现交换矩阵的行示例

    如下所示: # TODO r1 <---> r2 # 直接修改参数矩阵,无返回值 def swapRows(M, r1, r2): M[r1],M[r2] = M[r2],M[r1] pass 以上这篇Python 实现交换矩阵的行示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 使用python telnetlib批量备份交换机配置的方法

    使用了telnetlib模块,首先登录到交换机,列出并获取配置文件的名称,然后通过tftp协议将配置文件传输到文件服务器上,为避免配置文件覆盖,将备份的配置文件名称统一加入日期以作区分. 1. 登录方式和口令有好几种,比较懒惰,通过不同列表以做区分,如果每个交换机口令都不相同的话,就需要额外处理了. 2. 交换机的配置文件也有多种类型,也是通过列表进行区分. 3. 有些交换机支持ftp和sftp,但测试发现有些虽然有相应的客户端命令,但传输总有问题.也不能将每个交换机都配置为ftp服务器,不安全

  • 通过python实现随机交换礼物程序详解

    看到了一个面试题,想了两种解法,不知道符不符合要求,记录如下: 题目:有N个人,每人备一个圣诞礼物,现需要写一个程序,随机交互礼物,要求:自己不能换到自己的礼物,用python实现. 方法一: 构造二维列表存储参与者的名字和所带礼物,使用random.choice()随机选择礼物. import random lsGiftIn = [['Jack','apple'],['June','ball'],['Mary','card'],['Duke','doll'],['James','egg'],[

  • Python Numpy 实现交换两行和两列的方法

    numpy应该是一个和常用的包了,但是在百度查了很久,也没有查到如何交换两列(交换两行的有),所以查看了其他的文档,找到了方法. 交换两行 比如a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]]),想要交换第二行和第三行,看起来很简单,直接写代码: import numpy as np a = np.array([[1,2,3],[2,3,4],[1,6,5], [9,3,4]]) tmp = a[1] a[1] = a[2] a[2] = tmp 运

  • Python通过RabbitMQ服务器实现交换机功能的实例教程

    快速回顾一下RabbitMQ服务器的安装: sudo apt-get install rabbitmq-server Python使用RabbitMQ需要Pika库: sudo pip install pika 好了,接下来我们先看交换机的工作原理:消息发送端先将消息发送给交换机,交换机再将消息发送到绑定的消息队列,而后每个接收端都能从各自的消息队列里接收到信息. 下面用send.py和receive.py来模拟实现交换机的功能.send.py表示发送端,receive.py表示接收端. rec

  • Python自动巡检H3C交换机实现过程解析

    1.通过netmiko模块登录交换机,协议ssh,执行收集信息命令,保存至txt文件 2.过滤txt文件中的内容,保存到excel,使用xlwt模块实现. 3.sendmai发送excel邮件.或者发送给钉钉机器人也可以 4.使用crond定时发送巡检报表. 代码如下 #!/usr/bin/python3 #H3c交换机 import time from netmiko import ConnectHandler now = time.strftime("%Y%m%d",time.lo

  • Python socket模块ftp传输文件过程解析

    这篇文章主要介绍了Python socket模块ftp传输文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用环境:python3,window环境,需要在头部声明# -*- coding:utf-8 -*- 实现功能: 将sever端所处文件夹的文件,传输到client端所处的文件夹中. 并且通过md5检测是否出错. 客户端命令的形式是: get 文件名 client处的新文件是 文件名.new ftp_sever.py impo

  • Python使用微信接入图灵机器人过程解析

    这篇文章主要介绍了Python使用微信接入图灵机器人过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.wxpy库介绍 wxpy 在 itchat 的基础上,通过大量接口优化提升了模块的易用性,并进行丰富的功能扩展. 文档地址: https://wxpy.readthedocs.io 从 PYPI 官方源下载安装 pip install -U wxpy 2.图灵机器人 首先注册一个账号:http://www.turingapi.com/

  • python redis 批量设置过期key过程解析

    这篇文章主要介绍了python redis 批量设置过期key过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在使用 Redis.Codis 时,我们经常需要做一些批量操作,通过连接数据库批量对 key 进行操作: 关于未过期: 1.常有大批量的key未设置过期,导致内存一直暴增 2.rd需求 扫描出这些key,rd自己处理过期(一般dba不介入数据的修改) 3.dba 批量设置过期时间,(一般测试可以直接批量设置,线上谨慎操作) 通过

  • Python散点图与折线图绘制过程解析

    这篇文章主要介绍了Python散点图与折线图绘制过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在数据分析的过程中,经常需要将数据可视化,目前常使用的:散点图 折线图 需要import的外部包 一个是绘图 一个是字体导入 import matplotlib.pyplot as plt from matplotlib.font_manager import FontProperties 在数据处理前需要获取数据,从TXT XML csv

  • python Opencv计算图像相似度过程解析

    这篇文章主要介绍了python Opencv计算图像相似度过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.相关概念 一般我们人区分谁是谁,给物品分类,都是通过各种特征去辨别的,比如黑长直.大白腿.樱桃唇.瓜子脸.王麻子脸上有麻子,隔壁老王和儿子很像,但是儿子下巴涨了一颗痣和他妈一模一样,让你确定这是你儿子. 还有其他物品.什么桌子带腿.镜子反光能在里面倒影出东西,各种各样的特征,我们通过学习.归纳,自然而然能够很快识别分类出新物品.

  • python爬虫模拟浏览器访问-User-Agent过程解析

    这篇文章主要介绍了python爬虫模拟浏览器访问-User-Agent过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 模拟浏览器访问-User-Agent: import urllib2 #User-Agent 模拟浏览器访问 headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, li

  • python实现百度OCR图片识别过程解析

    这篇文章主要介绍了python实现百度OCR图片识别过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 import base64 import requests class CodeDemo: def __init__(self,AK,SK,code_url,img_path): self.AK=AK self.SK=SK self.code_url=code_url self.img_path=img_path self.ac

  • Python自定义计算时间过滤器实现过程解析

    这篇文章主要介绍了Python自定义计算时间过滤器实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在写自定义的过滤器时,因为django.template.Library.filter()本身可以作为一个装饰器,所以可以使用: register = django.template.Library() @register.filter 代替 register.filter("过滤器名","函数名") 如果

  • Python unittest工作原理和使用过程解析

    这篇文章主要介绍了Python unittest工作原理和使用过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.unittest的工作原理: TestCase:一个testcase就是一条测试用例. setUp:测试环境的准备 tearDown:测试环境的还原 run:测试执行 TestSuite:测试套件或集合,多个测试用例的集合就是1个suite,一个suite可以包含多条测试用例,测试套件suite里面也可以嵌套测试套件suit

随机推荐