前天写了用paramiko多线程SSH登陆华为交换机处理简单的命令,后面看了有很多问题。比如用户名密码及配置命令是写死在主文件中。要改起来比较麻烦,可扩展性不好。今天做了优化,让它适用在配置过SSH登陆的同用户名密码同类交换机做批量配置。(在华为交换机测试过运行正常)

目录结构如下:只需要改动前两个配置文件

[root@10-57-22-238 sshsw]# ll

total 12

-rw-r--r-- 1 root root 79 Mar 14 23:53 cmd.txt

-rw-r--r-- 1 root root 274 Mar 14 23:32 conf.py

-rw-r--r-- 1 root root 933 Mar 14 23:51 ssh_sw_cmd.py

cmd.txt用来存放要配置到交换机的命令,内容如下(以下内容为配置NTP)。

sys

ntp unicast-peer 192.168.6.100 version 4 source-interface LoopBack0

commit

conf.py 保存交换机的管理IP,及登陆交换机的用户名密码

#-*- coding: utf-8 -*-

#!/usr/bin/python

#要执行操作的交换机管理

swip={

'testare4' : '172.16.200.6',

'testare1' : '10.57.1.22',

};

#交换机SSH用户名密码

username = "wsf535" #用户名

passwd = "****" #密码

threads = [10] #多线程

ss_sw_cmd.py为主运行文件

#-*- coding: utf-8 -*-

#!/usr/bin/python

import paramiko

import threading

import time

import os

from conf import *

#拿到cmd.txt文件中的命令

with open('./cmd.txt', 'r') as f:

cmd_line= f.readlines()

cmd=[]

for c in cmd_line:

cmd.append(c)

#定义连接与操作

def ssh2(ip,username,passwd,cmd):

try:

ssh = paramiko.SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(ip,22,username,passwd,timeout=5)

ssh_shell = ssh.invoke_shell()

for m in cmd:

res = ssh_shell.sendall(m)

time.sleep(float(1))

print ssh_shell.recv(1024)

ssh.close()

except :

print '%s\tError\n'%(ip)

if __name__=='__main__':

print "Begin......"

for key in swip:

ip = swip[key]

a=threading.Thread(target=ssh2,args=(ip,username,passwd,cmd))

a.start()

python 华为交换机自动配置_对python连接华为交换机批量配置优化相关推荐

  1. python学法用法 自动刷分_使用python对微信小游戏跳一跳刷分

    最近微信游戏很火,所以想着看能不能抓包,刷个分... 抓包 抓包还是使用的fiddle,不会的可以参考抓取手机app的数据(摩拜单车) 但是会发现一打开,抓不了包... 解决无法抓包的问题 所以需要有 ...

  2. python 发微信 自动登录_用python自动给微信好友发消息

    由于itchat运行时,老是报KeyError: 'pass_ticket',故itchat暂不能使用.而wxpy在使用时需要登录网页版微信,且动不动报KeyError: 'pass_ticket,所 ...

  3. python实现dnf自动刷怪_【python】模拟打怪游戏:怪兽(monster),玩家(hero)

    游戏模式: 假设有怪兽(monster)和英雄(hero)两个角色,二者为敌对状态 假设两个角色初始血量为100,攻击力的伤害服从随机分布(7,17),二者相互攻击,判断谁获胜? # # 定义精灵 c ...

  4. python自动抢单_【Python成长之路】基于sikuli jar包,实现淘宝自动抢单功能(1)...

    [写在前面] 记得节前,西哥问我能不能帮忙写个淘宝自动抢单的功能.其实之前就有提到过sikuli IDE工具,可以很方便地实现图形化自动化,只是当时并没有真正用python实现. 因此刚好借这个机会, ...

  5. python开发环境配置_百度资讯搜索_python开发环境配置

    金生水起程序猿 2020年11月14日 11:20下载完成后就可以安装Python了,在安装过程中会弹出内容选择对话框,选中复选框Add Python 3.x to PATH,可以将Python的安装 ...

  6. 华为ensp命令大全_电脑网络:华为交换机基础知识及基本命令配置大全,新手的福音...

    一.交换机常识. 华为作为全球领先的电信解决方案供应商,其产品和业务的分布十分广泛,是众多通信行业的公司学习的典范. 本文主要将以华交换机为例,了解华为交换机的基础知识. 华为交换机基础知识 华为27 ...

  7. python 微博自动点赞_用 Python 自动定时发微博

    ​其实小帅b已经挺久没有玩微博了,记得上次玩微博还是为了给周杰伦打榜,不过最近心血来潮,觉得俺的微博账号躺着也是躺着,要不就用 Python 做一个自动定时发微博的机器人,让它在上面飘一会. 怎么个飘 ...

  8. python发微信提醒天气_基于Python实现定时自动给微信好友发送天气预报

    效果图 from wxpyimport * import requests from datetimeimport datetime import time from apscheduler.sche ...

  9. python京东自动签到_利用python Selenium实现自动登陆京东签到领金币功能

    如何自动登陆京东? 我们先来看一下京东的登陆页面,如下图所示: [插入图片,登陆页面] 登陆框就是右面这一个框框了,但是目前我们遇到一个困呐,默认的登陆方式是扫码登陆,如果我们想要以用户民个.密码的形 ...

  10. python安装需要什么电脑配置_自学python用什么配置电脑?

    Python不像java或者Android那样,需要下载很大的开发工具包,Python一般的配置基本上都能满足.如果要学习其他的,最好是越高越好了. 一般配置:i5+8G 内存+Intel处理器,如果 ...

最新文章

  1. python 如何暂停程序?程序阻塞 (input()、time.sleep()、os.s*stem(“pause))
  2. 几个常用的宏:likely和unlikely __raw_writel
  3. @FindBy、@FindBys、@FindAll的区别
  4. Linux下对Verilog文件进行leda检错
  5. (转)Centos7 Nginx安装
  6. 【HISI系列】之SDK编码器开发
  7. c++指定在某一线程运行_iPhone11升级iOS14运行速度测试:结果有点小惊喜
  8. Emacs学习笔记(6):常用命令备忘(打印版)
  9. Vue之路由push
  10. 基于51单片机的步进电机驱动程序
  11. MTCNN优化和另类用法
  12. oracle快速为所有表新增字段
  13. 矩阵标准型的系数是特征值吗_Jordan 标准型
  14. 实战 - Java程序最后的清道夫Runtime.addShutdowHook
  15. cesium之地图显示坐标、视角高度、比例尺、海拔效果篇
  16. 如何利用python刷微博粉丝_使用python进行新浪微博粉丝爬虫
  17. 达州中学高考2021成绩查询,达州中学排名前十名,2021年达州中学排名一览表
  18. 游戏Flappy Bird走红启示:没人知道玩家想要什么
  19. 干货分享丨​供应链管理-ERP的前世今生
  20. php 插件加载不出来了,织梦第三方响应式后台辅助插件不显示新模块和插件的解决方法...

热门文章

  1. 触动人心:如何设计优秀的iPhone应用
  2. 通常环境光照度参照表
  3. 搭建Kangle+EasyPanel+WHMCS实时开通付费虚拟空间
  4. 计算机之家 Vista Ulite 完美安装版 (Vista旗舰版)
  5. Python 实现超级玛丽游戏
  6. 游戏给你带来了什么,你还在执迷不悟吗?
  7. RabbitMQ极速入门
  8. 计算机网络——Cisco Packet Tracer 实验
  9. 医院预算目标分解公式
  10. pzh-web前端学习汇总-大二