当前位置:   article > 正文

Python脚本自动化运维网络设备_python网络运维自动化脚本

python网络运维自动化脚本

 编写python程序, 从配置脚本中读取对应的文件内容, 使用 ssh 的方式将配置发送到设备并保存。配置脚本中存放你想要在每台设备上进行配置的命令

  1. import paramiko
  2. import time
  3. from device_info_01 import * #创建一个存放设备信息的文件,导入到此文件中
  4. for item in range(len(datebase)): # datebase是在device_info_01中创建的数据库,用来存放设备的信息
  5. ssh = paramiko.SSHClient()
  6. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  7. # 使用客户端对象连,接ssh服务器
  8. ssh.connect(hostname=datebase[item]["ip_addr"],username=datebase[item]["username"],
  9. password=datebase[item]["passwd"])
  10. # 调用shell
  11. command =ssh.invoke_shell()
  12. #使用shell进行配置
  13. command.send(b'system-view\n')
  14. command.send(b'user-interface vty 0 4 \n'
  15. b'screen-length 0 \n')
  16. command.send(b'dis cu\n')
  17. #读取数据库中设备的信息,使用shell把配置信息发送到设备中
  18. with open(datebase[item]["path"],"r",encoding='utf-8') as f:
  19. while True:
  20. content = f.readline()
  21. if not content:
  22. break
  23. command.send(content.encode())
  24. print(f"plwase wait a monment...您成功的进入了{datebase[item]['device_name']}设备进行配置")
  25. time.sleep(20)
  26. #接收回显
  27. output = command.recv(65535)
  28. print(output.decode())
  29. #关闭ssh连接
  30. ssh.close()

创建一个字典存放设备远程登录时的需要认证的信息,创建完成后用列表进行遍历

  1. dev_sw1 = {'ip_addr':'192.168.100.10','username':'lll','passwd':'Huawei@123',
  2. 'path':'配置脚本cfgs/SW1.cfg','device_name':'SW1'}
  3. dev_sw2 = {'ip_addr':'192.168.100.20','username':'lll','passwd':'Huawei@123',
  4. 'path':'配置脚本cfgs/SW2.cfg','device_name':'SW2'}
  5. dev_sw3 = {'ip_addr':'192.168.100.30','username':'lll','passwd':'Huawei@123',
  6. 'path':'配置脚本cfgs/SW3.cfg','device_name':'SW3'}
  7. dev_sw4 = {'ip_addr':'192.168.100.40','username':'lll','passwd':'Huawei@123',
  8. 'path':'配置脚本cfgs/SW4.cfg','device_name':'SW4'}
  9. datebase = [dev_sw1,dev_sw2,dev_sw3,dev_sw4]

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/677727
推荐阅读
相关标签
  

闽ICP备14008679号