Нужен ли python для системных администраторов?

Прочитал книжку по Python системное администрирование, сложилось стойкое впечатление, что Питон используется не потому, что он решает задачу эффективно, а из-за того, что это круто, здорово, молодежно.

Есть ли реальная выгода от питона в системное администрировании?

P.s. Знаю, что ряд тулзов написано на питоне, но при этом их можно было бы написать и на других языках.
  • Вопрос задан
  • 6715 просмотров
Пригласить эксперта
Ответы на вопрос 9
vvpoloskin
@vvpoloskin
Инженер связи
Когда я и коллеги использовали python вместо баш?
Когда потребовалось написать бекапилку конфигов на 8k сетевых устройст по snmp.
Когда надо было набросать простой веб-интерфейс для дежурной смены для примитивного up/down и смену description на этих устройствах.
Когда надо было проинтегрировать nagios-мониторилку с внешей сторонней базой данных.
Когда на 600 виртуалок необходимо было поставить разные софтины, перечень и версии которых хранились во внешнем xml-файле
Когда с увесистой пачки серверов понадобилось провести инвентаризацию типа sfp-модулей

К чему я это? Если вам хватает bash, радуйтесь и используйте его. Когда будет надо, вы сами придете к python.

На чистом баше вы замучаетесь делать веб-интерфейс к чему-либо, организовывать взаимодействие с внешними системами/программами, отличными от чистого linux (web, snmp, sql, email, ftp не разовое обращение), обрабатывать вводные данные к системе в форматах сложнее csv (html, xml, json), обрабатывать файлы в нестандартных кодировках, использовать нетекстовые переменные в скриптах (арифметика, дроби, списки, файлы). Боль начнется даже просто тогда, когда появятся файлы с названиями с нестандартными символами (?$!*\+alt-символы), а еще и в левой кодировке (привет mount ftp/samba/sshfs/ntfs и даже вложения к письмам). А еще больнее станет, когда размер своих скриптов превысит хотя бы 500 строк.

И уже как бонус идет то, что python есть из коробки в deb/rhel дистрибутивах, многие системные утилиты написаны уже на нем. Плагин к apt/yum проще всего сделать на python, даже можно не парясь писать стартап скрипты к сервисам.
Ответ написан
Комментировать
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
Есть ли реальная выгода от питона в системное администрировании?
На мой взгляд - да, вполне себе есть. Python - довольно лаконичный язык, в виду чего писать на нем и "стильно/модно/молодежно" и банально удобно, удобно делать множество разных мелочей - например, удобно работать со строками. Ну и ещё он идёт комплектом с большинством дистрибутитвов Linux'а и еже с ними... в виду чего его ещё "удобнее" использовать (т.к. всё нужное уже стоит).

Знаю, что ряд тулзов написано на питоне, но при этом их можно было бы написать и на других языках.
Я Вам больше скажу, они были бы ощутимо производительнее, и возможно даже лучше по ряду других параметров, если были бы написаны на Си. И это касается не только каких-то "тулзов", о которых Вы говорите, это касается примерно 99% программ/"тулзов"/etc. Практически что угодно можно написать "на других языках".

P.S. Всё выше сказанное - исключительно личное мнение и опыт и на истину в последней инстанции - не претендует.
Ответ написан
Комментировать
Astrohas
@Astrohas
Python/Django Developer
Питон используют не потому что модно, а потому что удобно. И если он удобен вам то используйте. Если нет то используйте то что вам более удобнее.
Ответ написан
Комментировать
@alex-t
Прогр. в команде rco.ru
ИМХО питон позволяет относительно единообразно написать некоторые (манипуляции с файлами преимущственно) админские задачи на разных ОС. При этом на каждой ОС сами операции настройки ОС весьма специфичны, и на каждой есть достаточно продвинутые инструменты для администрирования...
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Администратору в любом случае полезно владеть программированием. Основной упор, имхо, все таки нужно делать на командный язык оболочки bash/cmd/posh. Подавляющее большинство задач можно решить с их помощью. Но если вы будете знать кроме этого и еще что-то - это будет только вам в плюс.
Ответ написан
Комментировать
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
И да и нет.
Больше толку от хорошего знания баша, остальное уже в сторону девопса пошло.

У меня Руби и Голанг в ходу.
Руби для чифа и всяких заманух которые тяжко башить, голанг для быстрого написания всяких сервисов.
Ответ написан
Комментировать
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Все зависти от задач. Не задача подгоняется под инструмент, а инструмент берется под задачу. Я стараюсь обойтись башем, ну а если никак - тогда perl

Jedem das seine (С)
Ответ написан
Комментировать
shurshur
@shurshur
Сисадмин, просто сисадмин...
Знание языка программирования - а лучше нескольких - это всегда плюс. Помогает как в написании своих скриптов, так и в отладке/переиспользованию чужих. И, конечно, качества и распространённость таких языков влияют. Но это всё равно опционально, в отличие от знания bash. Хотя, конечно, не знать совсем ни одного языка больше похоже на крайность, чем на норму.
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Нет! Все можно сделать на egrep awk sed и bash. Другого и не нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы