python备份cisco交换机_Python telnet备份Cisco交换机配置

平时老是跟同学吹比说“”人生苦短,我用python“”、“”python天下无敌“”,还说搞个脚本操作交换机好像有点方便的样子。吹了半天最近出于实习工作需要终于下定决心写下这个脚本。

一开始就先写个简单点的功能好了,弄个备份配置吧。业务逻辑很简单,先telnet连上交换机,进入enable模式,然后show run把配置读取完再保存到本地就行了。

首先import要用的包,python自己有个用来做telnet操作的包telnetlib,直接用就行了,后来中间做的过程用了一些正则来处理文本,把re也import一下

telnet模块有了,先来连接交换机。直接调用telnetlib里面的Telnet()连上交换机,有用户名发用户名给交换机,没用户名就直接发密码给交换机,登录进去,返回一个对象可以存起来,方便对交换机做其他操作

连上交换机要进Enable模式才能show run啊,搞一下。

不管交换机端有没有命令先换行,进enble,有密码就发密码过去

行了,进了enble就可以备份配置了:

初始化confComplete,然后发show run

配置总不可能一页就打完的啊,那看一下加载完没有,直接查一下拿到的msg里面还有没有–More–就知道了,有的话就是没加载完,继续加载,没有的话就把配置存下来好了。

通过moreFlag判断配置读取完没

然后存之前发现了个问题,拿过来的二进制流转成字符串以后\r\n都被转义成字符串了。。所以没了空格换行的功能。。自己先弄了半天没想出来怎么回事,开shell测了一下发现原来是被转义了,简单粗暴直接用正则改过来

shell测试了发现被转义了

修改被转义的字符

最后啥都拿到了,就保存一下吧,用正则匹配出交换机的名字,然后生成一个文件名这个名字的txt来保存好了

简单粗暴地弄几下把交换机名字弄出来就算了,算法好不好看啥的就不想了

因为真实环境弄的,测试结果就不放了,别的功能啊用户体验啥的话就以后慢慢完善好了,有兴趣的话自己弄一个玩啊。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值