[Из песочницы] Зачем сетевику Python
Комментарии (11)
18 июля 2017 в 15:49
0↑
↓
Python сисадмину?
У Windows есть PowerShell (Или bat/cmd если чтото совсем простое).
У *nix’ов — Bash.
Обычно их возможностей обычному сисадмину более чем достаточно. А если нет — тут уже встает вопрос о написании (Покупке?) собственной софтины. А тут выбор языка зависит больше от предпочтений прогера. (Ну или от задач, которые должна решать софтина)18 июля 2017 в 16:01
+1↑
↓
Ок, а если Вам будет надо например ходить скриптом и на вин и на никс?
Пайтон он везде пайтон, а бат на никсах особо не запустишь.
Ну ок, Вы решили заюзать Ansible, хоп, нужен свой модуль. Опять пайтон.
Надо быстренько парсинг какой нибудь логов или конфигов с подменой сделать и его запустить и в никсах и вин?
Покупать софтину для парсинга конфигов? У меня вот старый проект, приходится работать на никсах и вин одновременно, не могу отказать от какой то оси.18 июля 2017 в 16:41
0↑
↓
Я чет так и не придумал, где может пригодится скрипт, который должен работать и там и там…
Обычно скрипты пишутся или для конкретной машины, либо для работы с сетевыми устройствами (А там другие вопроы возникают).С другой стороны — Bash на Windows тоже есть (Порт, хотя в Win 10 — уже «нативно»… хотя это костыль, да…)
Для меня основной «Минус» питона — необходимость ставить интерпритатор. Особенно это актуально на всяких Embebed-девайсах, где банально может не быт места для установки оного.
А вот Bash/SH и CMD/PS есть «Изкаробки»…18 июля 2017 в 16:49
0↑
↓
Вот пример: Пришла железка, и ее надо настроить так же, как и в другом филиале. Но в новом филиале все на виндах, а в другом было на *nix. С помощью питоновского скрипта можно настроить железку абсолютно так же, но из-под другой операционки.18 июля 2017 в 16:51
0↑
↓
Спорный вариант — Толковый сисадмин хранит подобные скрипты на рабочем ноуте (Чтобы были всегда под рукой). А в случае «Форс мажора» все вручную настраивается.18 июля 2017 в 16:58
0↑
↓
Ну я сейчас приведу такой ОЧЕНЬ частный случай (, но на самом деле это рабочий момент).
Есть например мифическая разработка, внутренняя, она шлет какой то траф.
Я хочу проверить работу, урезая скорость и помониторить и послать себе писем.
Есть версия 1.0, она на вин сервере работает, есть версия 3.0 она на никс сервере работает.
Пишу какой то скрипт, он делает что надо, метрики мне шлет в течении например трех четырех дней.
Какие то если есть различия в вин и никс, можно через sys args, а в остальном логика одинакова работы на разных платформах.
Профит: мои 100 строк скрипта работают и там и там, не надо писать два разных, тестировать могу под никс (мне так удобнее).
18 июля 2017 в 16:11
0↑
↓
Вы верно подметили, у Windows — PowerShell, у *nix — Bash. Поэтому, чтобы работало и там и там берут Python. :)18 июля 2017 в 16:57 (комментарий был изменён)
0↑
↓
В вакансиях линуксовых сисадминов скорее встретишь Python, чем Bash. В сетевых железках везде Python и Ansible, который тоже Python и может требовать доработки.
18 июля 2017 в 15:58
0↑
↓
В штате у любых сетевиков при накоплении определенной массы активных устройств всегда появляется тот, кто потихоньку начинает скриптовать. Пусть даже на банальной задаче добавить еще одно snmp-community или сменить пароль локального пользователя на 100 устройств делать в ручном режиме совсем не эффективно. Что уж говорить про более сложную логику в виде резервного upload-а конфигов, визуального интерфейса для примитивных действий для смены и т.д.18 июля 2017 в 16:00
0↑
↓
Если ставить python3, то и pip ставить нужно его же — python3-pip. datetime входит в стандартную поставку python.Теперь осталось собрать имена интерфейсов, description интерфейсов, адреса интерфейсов и правильно разложить в конфигуционные файлы bind.
Пока собрали только имена хостов и то не всех. Фраза напоминает картинку — как нарисовать сову?18 июля 2017 в 16:22
+1↑
↓
Если ставить python3.4+ или python2.7.9, то pip ставить не нужно, начиная с python3.4 и python2.7.9 pip входит в комплект.