"Hello, world" на Python и Netmiko. Простой пример, настолько простой, что возможно даже плохой если захотеть использовать его в боевом режиме. В нём нет никакой такой задачи, кроме подключения и использования
Netmiko
, которую бы нельзя было решить используя менее избыточные инструменты. Как минимум расширения
include
и
exclude
в командной строке Cisco и не только это
уже регулярное выражение. Во многих современных устройствах можно и полноценные конвейеры строить.
А если хочется что-то посложнее, то
SSH
отлично позволяет выполнять команды тут же при подключении и выходить после выполнения. Например, вывести все интерфейсы
Vlan
оставив заголовок (вторая строка в выводе):
$ssh admin@192.0.2.15 "show ip int br" | sed -ne "2p;/vlan/Ip;"
Interface IP-Address Status Protocol
Vlan1 unassigned down down
Vlan15 192.0.2.15 up up
Настоящий
Unixway - сила в простых командах и их комбинации. Придётся конечно ввести пароль, но и это можно обойти перейдя на ключи или использовав обёртку для клиента
ssh
, но в данном случае ввод пароля безопаснее чем хранить его вместе со скриптом в одном файле.
Кто-то скажет: "Ага! Вот уже начинаются сложности и даже такой пример с
Python
может поспорить с нагромождением команд". Конечно, всегда стоит помнить когда остановиться и прекратить писать однострочники в нескольких сотен символов, но тратить всю мощь
Netmiko
на вывод списка интерфейсов, так себе применение инструмента. Как простейший пример, в рамках первый раз попробовать - всё отлично, именно так и надо начинать, повторять свои ежедневные действия в консоли. В продакшн тянуть такое не стоит.
Программирование само по себе достаточно сложный процесс, готовые утилиты о многом позаботились, тот же ввод пароля. Когда начинаешь писать новую утилиту это всё сваливается на тебя и учесть многие нюансы просто в силу отсутствия опыта не получится. Нельзя научиться программированию за полгода, так же как и стать Админом за это время.