Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import paramiko
- import getpass
- from netmiko import ConnectHandler
- from sys import argv
- paramiko.util.log_to_file("filename.log") # Логирование подключений
- username = 'username'
- password = getpass.getpass() # Запрос пароля для подключения
- cmd_line = 'show version'
- cfg_commands = ['clock timezone YEKT 5','exit','wr']
- ip_file = str(argv[1]) # Берем название файла из второго аргумента. (первый - название исполняющего скрипта)
- def ReadFileToArray(filename):
- # Функция заполнения массива строками из файла
- array = []
- with open(filename,'r') as tmpfile:
- array = tmpfile.readlines()
- return array
- def PrintArray(array):
- # Функция вывода элементов массива
- for line in range(0,len(array)):
- print array[line].rstrip()
- #ReadFileToArray('iplist-regions')
- print '============= Working with '+ip_file+' ============='
- IPList = []
- IPList = ReadFileToArray(ip_file) # Получаем список IP адресов маршрутизаторов из файла.
- PrintArray(IPList)
- # Данные для подключения к устройствам и задание команды на выполнение.
- # Записываем результат в файл result.
- with open("result","w") as result:
- for i in IPList:
- try:
- net_connect = ConnectHandler(device_type='cisco_ios', ip=i, username=username, password=password)
- output = net_connect.send_command(cmd_line) # Выполнение одной команды
- #output = net_connect.send_config_set(cfg_commands) # Выполнение списка команд
- #result.write(output + '\n =================================== \n')
- net_connect.disconnect()
- print output
- except:
- result.write(i.rstrip()+' : Unavailable\n =================================== \n')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement