Comments 17
В красивых сравнениях "автопрогон против ручного" не хватает "+ время на автоматизацию и отладку". Стоимость там ненулевая, её доля падает с количеством запусков неизменного скрипта, растёт с каждой переделкой.
Большое спасибо автору! В примерах скриптов встретились незнакомые выражения и благодаря им подтянул знания по их написанию. Некоторые вещи не встречал в базовой документации, а благодаря статье узнал новенькое.
Кривая обучения автоматизации
Процесс освоения проходит интересные стадии, это буквально из личного примера:
Страх (боязнь сложности, полное непонимание происходящего)
Механическое копирование (использование чужих скриптов)
...
Ленивый админ не согласен.
Скорее так:
Стало лень делать одно и то же
Попробовать команду- две запустить из скрипта
Дальше возможны варианты и не факт, что ваш будет приоритетным. 20 лет назад , для виндузятника - скорее всего. Для линуксоида - вряд ли. Как сегодня, не знаю, но , думаю , примерно так же.
Спасибо за комментарий! Безусловно, это одна из вариаций. Кто-то может быть согласен с моим тезисом, а не Вашим.
это буквально из личного примера:
Я не зря указал, что так было у меня. Предугадать и вывести единую формулу в огромном пространстве вариантов физически невозможно, пути всегда будут отличаться.
да, скриптонаписание и засиживание сутками за изучением IT очень сильно разучивает общаться с людьми вживую, особенно отдаляешься от общения с девушками, тут вообще пропасть, так что меняется не только мозг, но жизнь целиком, становишься похож на робота
Спасибо за комментарий! Очень зависит от подхода. Если гореть/фанатеть и не обращать внимания на остальные сферы жизни, то безусловно - Вы правы. На деле же, все реже встречаю «закрытых» айтишников. Даже наоборот, открытых словно больше (исходя из моей личной выборки, общую массу судить не берусь).
Это давно в прошлом. В начале 90-х даже книг не было практически. Сейчас все гораздо проще. Правда девушек, достойных внимания, говорят, стало гораздо меньше :)
Скрипты упростили мою работу и ускорили. Спасибо за статью!
банальная «насмотренность» (глядеть на скрипты) — со временем начинает приносить понимание происходящего.
Есть такое. Мне много легче понять принцип на наглядном примере, нежели просто почитать мануал.
Версия: 1.0
А вот здесь вопрос. Когда только начинал стряпать свои сценарии, использовал такой принцип. Но. Просто номер версии через некоторое время мне уже ни о чём не говорит.
Плюс к этому, прописывается ли номер версии в имени сценария? Если да, то не удобно. Скажем, у меня есть сценарии в автозагрузке, при изменении имени файла требуется менять путь (имя).
Для себя выбрал вариант с годом имя_сценария_$(date +%Y).sh
В самом сценарии прописывается основная версия (год; переделываю обычно в начале года, поскольку узнаю что-нибудь новое), при каждом изменении увеличивается на единицу номер сборки (build). Да, может, коряво, но для домашнего использования сойдёт.
# Script Main Version: 2025
# Build: 2
В комментариях к строке Build
прописываются изменения сценария.
И вообще по версионированию есть варианты использовать ГГГГ.ММ.
, вместо, например, version 1.0.2356. build 115 rev 12.
Хотя последний вариант выглядит, конечно, по-настоящему.
Спасибо за комментарий!
Просто номер версии через некоторое время мне уже ни о чём не говорит.
Этот пример был использовал скорее для наглядности, но в моей практике есть применение версионирования. Есть небольшой «сдвиг» на структуризации, поэтому любые важные (или полезные) скрипты хранятся в БД, в том числе и их старые версии. Особенно на работе данный принцип применим. Формат: «Версия 1.0» в ситуации с только написанным скриптом, «Версия 2.1» - допиленный (+ 1 версии - глобальные доработки, + 0,1 - небольшие изменения в коде) + обязательное документирование (что, где, когда, куда и откуда).
Неважные или неиспользуемые скрипты маркирую датой, в этом плане действительно удобно, согласен. В них мне не нужен контроль и анализ (что потенциально могло вызвать те или иные ошибки в сравнении с прошлой версией).
version 1.0.2356. build 115 rev 12
Такой формат не вижу смысла использовать в целом, я такое количество версий на скрипте никогда не сделаю. Это уже про грамотный подход и, как мне кажется, цельные приложения. Скриптам будет избыточно, как мне кажется.
Длинный формат привёл как пример версионирования.
Для небольших сценариев, да, избыточно, но, скажем, у меня есть сценарии, написанные несколько лет назад, переделывал я их уж не помню сколько раз. Вполне можно было бы использовать подобный формат, однако, как уже упомянул выше, сам бы в нём запутался.
Вообще это интересно в том плане, что типа крутой разработчик стряпает крутую программу (нет) с длиннющим номером версии. Для понта или если охота заморочиться.
Ещё вариант: присваивать кодовое имя. Для скриптов также излишне.
Всю свою жизнь в ИТ, а это более 40 лет, я сам и все вокруг меня написание кодов на любом языке называлось словом "программирование". И вот недавно, не более года назад, я стал чаще и чаще слышать слово "автоматизацию".
У меня слово "автоматизация" в ИТ с начала 21 века (2006 год примерно) ассоциируется с продуктом ИБМ System Automation (SA). Это продукт занимаетя распознованием и перехватом сообщений и изменений состояния разных компонент системы и приложений в системе с целью осуществления корректирующих действий, сигнализации оператору. Кроме того этот продукт автоматизироал процесс загрузки системы в разных конфигурациях для разных режимов (DR test, Real DR, Normal Operation). Также этот продукт осуществляет автомацию действий по таймеру, по графику. И т.д. и т.п.. Все действия SA прграмируется через полиси и пропиской скриптов вызываемых по событиям, таймерам, изменением состояний. Мониторинг тоже присутсвует и возможны действия на основе результатов мониторинга.
То что сейчас понимают под "автоматизацией" и в этой статье представленно это не более чем программное выполнение ручных функций. Эта тема тоже стара как мир ИТ. Конечно если что-то нужно выполнить вручную более чем N раз (N зависит от темперанта выполняющего эти действия, некоторые охотно выполняют их всю жизнь до пенсии, то это надо программировать и выполнять списком. Прграммировать самое подходящее для этого название. Кт, когда и где придумал называть рутинное программирование "автоматизацией" я не знаю, но вижу что это появилось не только в Канаде откуда я пишу, но и в России.
Есть у меня еще одно объяснение этой тенденции. На ПК-шных приложениях включая тех что обслуживали системы все запихивалось в GUI и иначе как бесконечным тыканием мышкой выполнится не могло. Последнее время это видимо это перекочевывает в форму команд, которые можно писать в PowerShell. Такие вещи всегда назывались CLI (Command Level Interface) и используются в скрипта десятки лет.
Но кто-то как всегда нашел повод открыть новую тему в ИТ для создания новой ниши на рынке ИТ. И, по причине отсутствия нормальной автоматизации в системах Виндовз и Линукс вроде той что я рассказал в начале, решили назвать этот банальный ход "автоматизацией". Что ж флаг в руки, но что вы будете делать если дело дойдет до действительно автоматизации? Какое слово будет найдено для этого.
Спасибо за комментарий!
но что вы будете делать если дело дойдет до действительно автоматизации?
Разве это подразумевает, что мы должны сидеть на терминах начала 2000-х и не придумывать какие-то новые ветки IT? Что мешает в будущем произвести слияние «старой и новой» автоматизации и как использование данного термина повлияет на дальнейшее развитие АйТи?
Насколько я помню, когда-то не было и DevOps, но ввели, ввели официально, пользуются повсеместно. Чем термин «автоматизации» хуже?
Пардон, я где-то в моем сообщении говорил про "терминалы начала 2000-х"? Вы автор и Вы должны максимально корректно относиться к комментирующим Ваш труд.
Нет никакой старой и новой автоматизаций. То что на платформе х86 нынче названо автоматизацией есть не более чем програмное выполнение рутинных функций ранее выполняемых через GUI и ставшее проблематичемным из-за огромного роста числе обслуживаемых ИТ операционных единиц - имиджей ОС и виртуальных машин.
Та автоматизация о которой я кратко поведал, это действительная автоматизация, освобождающая обслуживающий персонал от рутинного мониторинга и ручных реакций на оперативные изменения в процессах, выполняемых на отдельных ОС и их совокупностей. Но для такой автоматизации требуются системные службы и функции, которых ни в Windows, ни в Linux просто нет.
Поэтому никакого "слияния «старой и новой» автоматизации" Вам в будущем не светит. Вы так и будете называть написание скриптов автоматизацией.
Не очень Вас понял.
У меня слово "автоматизация" в ИТ с начала 21 века (2006 год примерно) ассоциируется с продуктом ИБМ System Automation (SA)
Важная пометка, ассоциируется у Вас. Ваше мнение, как и моё, не может считаться "эталоном".
Вы автор и Вы должны максимально корректно относиться к комментирующим Ваш труд
Что мной было сказано некорректно? Использование "терминов 2000-х"? Или сообщество, которому интересна новая тенденция, должны использовать, как Вы, термин "программное выполнение ручных функций".
Автоматизация — применение технических средств, экономико-математических методов и систем управления, освобождающих человека частично или полностью от непосредственного участия в процессах получения, преобразования, передачи и использования энергии, материалов или информации.
Официальная терминология с википедии. Подчеркнул слово "частично", чтобы Вы не подменяли понятия под Ваши убеждения.
Поэтому никакого "слияния «старой и новой» автоматизации" Вам в будущем не светит. Вы так и будете называть написание скриптов автоматизацией.
Почему Вы противитесь Вашим же вопросам, на которые я отвечал:
но что вы будете делать если дело дойдет до действительно автоматизации? Какое слово будет найдено для этого.
Я рассудил, вывел Вам пример "слова" для автоматизации, а с Вашей стороны началась агрессия? На что? На факт непринятия с моей стороны чужой позиции, с которой я не согласен и на которую я не увидел аргументов? Мне надо преклоняться перед всеми, кто со мной не согласен?
Что мной было сказано некорректно? Использование "терминов 2000-х"? Или сообщество, которому интересна новая тенденция, должны использовать, как Вы, термин "программное выполнение ручных функций".
Спешу извиниться. Мне прочиталось "терминалов 2000-х".
Нет, я не настаиваю на своих формулировках. Но согласитесь что
Автоматизация — применение технических средств, экономико-математических методов и систем управления, освобождающих человека частично или полностью от непосредственного участия в процессах получения, преобразования, передачи и использования энергии, материалов или информации.
.... и скрипты PowerShell запускаемые вместо кликания в GUI это несколько разные процесс. Могло бы быть и наоборот, не сначала GUI, а сразу "PowerShell" и потом GUI. как бы это тогда называлось бы?
У меня на ИБМ МФ так и было. Сначало условный PowerShell и лишь потом GUI. Никто первое на МФ не называл "автоматизация".
Я рассудил, вывел Вам пример "слова" для автоматизации, а с Вашей стороны началась агрессия? На что? На факт непринятия с моей стороны чужой позиции, с которой я не согласен и на которую я не увидел аргументов? Мне надо преклоняться перед всеми, кто со мной не согласен?
Нет конечно. Приношу извинения, погорячился с утра. Но и Вы поймите меня. У меня некий диссонанс в голове, нет не от Вашей статьи (это была просто последняя капля), а от того что я слышу каждый день на работе и во мне все восстает поскольку я давно знаю истинный смысл термина "системная автоматизация".
Кстати компьютер и программирование это изначально и есть автоматизация, частичная.
Автоматизация как образ мышления: как скрипты меняют не только работу, но и мозг