网络工程师工具:python批量登陆设备执行命令
诉求:网络工程实施过程中,设备量多,需要进行日常的信息采集,命令执行,数据分析等都需要花费较多人力,因此通过脚本的方式来实现更加方便高效
前提:安装好python3.0+,并通过pip 安装xlrd、paramiko(cmd下执行pip install xlrd、pip install paramiko)
执行不了的话,要在pip的绝对路径下。
步骤一:安装python以及对应库
python版本3.0
模块 paramiko xlrd
安装方式 pip install paramiko 和 pip install xlrd
步骤二:填写设备信息表
1、两种登陆:Telnet 和 SSH2 端口要选对
2、参数列,用于执行命令会变化的数据
3、选择N则不执行对应设备
4、此处%s0表示上图G0/0/0,%s1表示上图G0/0/1以此类推
5、命令都要用EOF结束
步骤三:执行脚本
1、输入工程名后回车,等待执行完成
2、之后进入log文件夹
3、找到刚才输入的工程名(对应文件夹)
4、点击文件夹进入即可查看对应设备的执行log
二、在线或离线筛选数据
这里主要演示离线数据的处理方式
一、填写excel表信息,输入要过滤的数据信息
可以使用正则表达式匹配数据,
如:(GigabitEthernet.*) transceiver information: “.*”代表任意字符,在括号中的表示需要显示的数据,如果不加括号将会输出全部匹配信息。
如果C列填写了First,则表明输出的数据需要进行换行
二、执行
如需要执行以下目录下的所有文件,将其筛选后合并
执行如下文件 offline_process_data.py 即可
如下为筛选出来的数据
生成如下对应的文件
文件内容如下:
代码下载链接:https://github.com/keyongzeng/kmulticonfigurationv2.git