Python3网络设备巡检(交换机篇)

介绍

只写了交换机的,路由器、防火墙、负载等其它设备以后,有需求再写,下面以一组交换机为例。

思路

1、收取交换机的信息 
需要哪些信息,哪些命令,不同品牌交换机命令不同(本篇以H3C为例),需要提前规划好。交换机的IP、名字、密码等信息,写入数据库比较方便。 
2、把需要的信息填入表格 
根据关键字提取交换机中的状态信息,并一次填入设计好的表格中,难点是字符串的截取和excel表格的设计。同款交换机相同的命令,可能用同一个关键字,抓取的信息也不一样,这个要多试几次。 
3、编写邮件,发送邮件。 
4、linux编写任务计划,crontab定期执行python代码,定期发送邮件。

代码

抓取交换机需要的配置信息

import pexpect
import sys
import datetime
import pymssql
import os

today=datetime.date.today().strftime('%Y%m%d')
path = "/root/xunjian/"+today
os.mkdir(path,777)#创建目录

def Switch(name,ip,passwd):
    try:#try except 防止有一个命令错误,导致程序不能进行,其实不加也可以,如果有命令没输出,下一个代码也会报错。
        name1="---- More ----"#模拟交换机出现的翻页提示
        child=pexpect.spawn('telnet %s'%ip)
        fout=open('/root/xunjian/'+today+'/'+'%s-%s.txt'%(name,ip),'wb+')
        child.logfile = fout
        child.expect('login:')#提示用户登录,输入帐号,交换机不同,有所不同。
        child.sendline("admin")
        child.expect('(?i)ssword:')#提示输入密码
        child.sendline("%s"%passwd)            
        child.expect('<%s>'%name)
        child.sendline("display cpu-usage")#查看cpu状态
        child.expect('<%s>'%name)
        child.sendline("display memory")#查看内存状态
        child.expect('<%s>'%name)
        child.sendline("display  environment")#运行温度
        child.expect('<%s>'%name)
        child.sendline("display fan")#风扇状态,一般输出都有2个
        child.expect('<%s>'%name)
        child.sendline("display power")#电源状态
        child.expect('<%s>'%name)
        child.sendline("display ip routing-table")#路由表
        for i in range(10):
            index = child.expect([name1,'<%s>'%name])
            if ( index == 0 ):
                child.send(" ")
            else:
                child.sendline("display interface brief")#端口状态
                break
        for i in range(10):
            index = child.expect([name1,'<%s>'%name])
            if ( index == 0 ):
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青年夏日科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值