Advertisement
Guest User

Untitled

a guest
Jul 31st, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. import paramiko
  5. import getpass
  6. from netmiko import ConnectHandler
  7. from sys import argv
  8.  
  9. paramiko.util.log_to_file("filename.log") # Логирование подключений
  10.  
  11. username = 'username'
  12. password = getpass.getpass() # Запрос пароля для подключения
  13. cmd_line = 'show version'
  14. cfg_commands = ['clock timezone YEKT 5','exit','wr']
  15. ip_file = str(argv[1]) # Берем название файла из второго аргумента. (первый - название исполняющего скрипта)
  16.  
  17. def ReadFileToArray(filename):
  18. # Функция заполнения массива строками из файла
  19. array = []
  20. with open(filename,'r') as tmpfile:
  21. array = tmpfile.readlines()
  22. return array
  23.  
  24. def PrintArray(array):
  25. # Функция вывода элементов массива
  26. for line in range(0,len(array)):
  27. print array[line].rstrip()
  28.  
  29. #ReadFileToArray('iplist-regions')
  30. print '============= Working with '+ip_file+' ============='
  31. IPList = []
  32. IPList = ReadFileToArray(ip_file) # Получаем список IP адресов маршрутизаторов из файла.
  33. PrintArray(IPList)
  34.  
  35.  
  36. # Данные для подключения к устройствам и задание команды на выполнение.
  37.  
  38. # Записываем результат в файл result.
  39. with open("result","w") as result:
  40. for i in IPList:
  41. try:
  42. net_connect = ConnectHandler(device_type='cisco_ios', ip=i, username=username, password=password)
  43. output = net_connect.send_command(cmd_line) # Выполнение одной команды
  44. #output = net_connect.send_config_set(cfg_commands) # Выполнение списка команд
  45. #result.write(output + '\n =================================== \n')
  46. net_connect.disconnect()
  47. print output
  48. except:
  49. result.write(i.rstrip()+' : Unavailable\n =================================== \n')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement