Если что, это не кликбейт. История довольно проста: в один из рабочих дней (работаю экспертом по компьютерной экспертизе) мне "на стол" попал сервер на ALT. Всё стандартно:

1) делаю чек железа, дабы исключить модули аппаратного шифрования / аппаратные токены и т.д.

2) делаю диагностику всей системы на момент первого запуска, для внесения в отчёт. Данная диагностика должна включать в себя первичную информацию о: диске; памяти; сети; базовых службах (ssh, cron и тд.) и о системе в целом.

Для матёрых линуксоидов

Может возникнуть вопрос: а зачем нам вообще для экспертизы проверять диск/память/сеть/службы/систему ? Данное действие на самом деле может показаться лишним, однако оно решает ряд задач:

1) Доказательство что система была работоспособна при старте + сразу делаем "слепок".

2) Обнаружение аномалий: высокая нагрузка CPU - может быть скрытый майнер (такое было на практике); заполненный диск - наличие скрытых файлов или логов.

3) верификация оборудования - реальная память vs заявленная (выявляем подделку)

3) провожу экспертизу по поставленным вопросам.

В нашем случае, нас интересует пункт 2: диагностика системы на момент первого запуска.

Как правило, данное действие заключается в поочередном запуске тех или иных команд и фиксации выводимого результата. Скрипты никто не писал, исходя из логики: "Просто лень. Тут делов на 20 минут, зачем ещё тратить время на скрипт".

Какое-то время я плыл по течению и делал как все. В день 1-2 исследования, действительно, ну сэкономим мы 20 - 40 минут, не велика выгода. Возможно я и продолжал бы жить в этой концепции, если бы мой коллега не ушёл в отпуск. Нагрузка возросла. Уже 2-3, а иногда и 4 исследования в день. Собственно этого и подтолкнуло меня на автоматизацию.

Скрипт был написан за выходные. Скрипт кастомный. Сыль ниже.

Вывод результата:

Скрипт запущен на домашней ВМ, не судите строго, что часть директорий на русском.
Скрипт запущен на домашней ВМ, не судите строго, что часть директорий на русском.

Скрипт изначально писался для себя. Выложил его на Git уже спустя только пару месяцев, ибо понял, что т.к. он пришёлся по душе моим коллегам, то возможно и кому-нибудь другому также облегчит работу.

В ноябре, проходя собес на должность сисадмина (в фирме клиенты и сервер на Linux), помимо базовых стандартных вопросов, технический спец, который меня собеседовал, задал вопрос про автоматизацию процессов. Вспомнив про написанный мной скрипт, я скинул ссылку на него. К моему удивлению, пара уточняющих вопросов и моё интервью закончилось со словами: "Всего хорошего мы вам перезвоним" "Вижу, понимание есть!". Через пару дней позвонила HR, со словами, что хотели бы совместно поработать.

Конечно же я понимаю, что по одному скрипту не берут на работу, но для моего потенциального работодателя, это явно был хороший ориентир на понимание / непонимание Linux.

Для справки, на этой же недели я проходил ещё один собес, где сценарий с автоматизацией и моим bash-скриптом повторился. Уточняющих вопросов относительно кастомизации скрипта было чуть больше, и хоть не на все из них я ответил идеально, собес закончился на положительной ноте. Оффер был получен, хотя и перезвонили только через неделю.

Как писал выше, прекрасно понимаю, что по одному скрипту не берут на работу, однако считаю, что в моём случае, данный скрипт явно демонстрирует навыки автоматизации рутинных задач.

P.S.

От обоих офферов отказался. Интервью проходил на позиции джуна (адекватно оцениваю свои знания и навыки), при этом в данных фирмах эти позиции были одиночными, т.е. работать одному, без напарника. По моему скромному мнению, для сисадмина начального уровня, это не самый лучший вариант для роста и развития.

Комментарии (39)


  1. petropavel
    09.01.2026 14:35

    Глаз зацепился за "работаю экспертом по компьютерной экспертизе". Подумал, "блин, опять", а потом читаю, и действительно же автор работает экспертом и проводит экспертизы!

    Пожалуй положу в закладки и буду кидать всем, у кого "нет в этой области экспертизы"


    1. TIEugene
      09.01.2026 14:35

      Я тоже в закладки записал. Спасибо за каммент, так бы пропустил.
      PS. "Ну ты понел", без работы не останемся. Даже с AI.


      1. Iluy Автор
        09.01.2026 14:35

        Если быть честным, то к моему огромному сожалению, моя работа достаточно шаблонна. С течением времени, "шаблоны" нарабатываются. Чек "железа" ИИ не проведёт, а вот сделать первоначальный слепок системы и даже частично ответить на поставленные вопросы, думаю - да, сможет.

        Вот кто точно не должен бояться ИИ - так это сисадмины (практически всех направлений).


        1. TIEugene
          09.01.2026 14:35

          Кстатеда. Автору респект за то, что он не "ChatGPT - шозахерь?" - а руками нарисовал скрипт на баше.
          Пост-AI, автору респектище. За рекламу думать моском, а не chatgpt.
          (PS. я ему птичку поставил, если что).


          1. aiminkai
            09.01.2026 14:35

            Думать моском, но задания давать нейронке. Скрипт однозначно ею написан, ибо в выводе символы (птичка успех, крестик облом). Как написавший много скриптов заверяю, сам искать код этих символов не будешь, красоты ради. А нейронку хлебом не корми, везде их суëт.

            Это не укор. Ключевое - понять, что нУжен скрипт, какОй он нужен и что его тОчно можно создать. А пишет пусть нейронка, экономит уйму времени. Как написавший много скриптов заверяю)


            1. neoclar
              09.01.2026 14:35

              Мне вот понравились эти галочки и крестики без фона, они у меня в заметках сохранены, чтоб не искать. Так что для логирования пихаю и без нейронки.

              Но соглашусь, что ИИшке они тоже нравятся и что это сигнал о том, что что-то тут нечисто и попахивает нейронкой.


            1. Iluy Автор
              09.01.2026 14:35

              За комментарий спасибо, но скрипт на 75% мой. Использовал DeepSeek только для корректного вывода цветов (думаю что здесь простительно) и немного для раздела с памятью ( if [ -n "$total" ] && [ -n "$avail" ]; - долго тупил как сделать корректный вывод информации).

              В остальном писал сам и активно гуглил. Я думаю вы согласитесь, что каждый раздел скрипта это практически одно и тоже - всё через условный оператор if-else.

              P.S.: символы галки и крестика мои)))


            1. achekalin
              09.01.2026 14:35

              Тут, кажется, и текст от чатгпт, по признаку выделять болдом все "важное" (по сути, то, что при чтении можно громким голосом прочесть; гпт так считает, в жизни же такое выделение обычно не нужно и не используется в подобных случаях).

              И, да, признаю, что так и живой человек может форматировать. Это у меня тригернуло, потому что уж очень много такого стало, гпт-ного.


              1. Iluy Автор
                09.01.2026 14:35

                Текст писал я, вам действительно кажется. Выделил жирным, для того, что бы обозначить важные/ключевые моменты. Думаю никакого смысла нет, для привлечения ИИ для написания столь простой истории. В любом случае, спасибо за внимание к кейсу.


            1. TIEugene
              09.01.2026 14:35

              Думать моском, но задания давать нейронке

              ... и потом рихтовать кувалдой.
              Скрипты баша, написанные нейронкой, не видел.
              А вот скрипты питона - видел. Ппц. Проще удалить и написать заново, чем рихтовать.


  1. KotPoliglot
    09.01.2026 14:35

    Хорошо, но было бы круче также добавить смарты дисков, чек раидов, сети не только по шлюзу, а и разных вланов/др интерфейсов, серийники оборудования


    1. TIEugene
      09.01.2026 14:35

      Ну так добавьте, кто ж мешает. OpenSource - оно такое.


      1. KotPoliglot
        09.01.2026 14:35

        Так у меня есть, я про данный скрипт писал, а про OpenSource нет)

        За что не стыдно, в основном, опубликовано)


        1. TIEugene
          09.01.2026 14:35

          Данный скрипт выложен в https://gitflic.ru под лицензией... Мнэ, без лицензии (ну, человек новенький, понятно).
          PR никто не отменял. Хотите помочь - PR.


  1. OldCreater
    09.01.2026 14:35

    Просто прогони свой файл через dos2unix (с)


  1. jsirex
    09.01.2026 14:35

    Ещё есть всякие штуки, которые для тестов инфраструктуры используются и прочих провер. На вскидку, ChefSpec (он же был Inspec, он же вырос из serverspec, хз как там лицензия сейчас). Но https://serverspec.org/ вроде бы живой. пиши себе тесты да и красиво показывай.

    От ансибла тоже что-то было, только жутко тормознутое.

    Конечно, bash наше всё и можно сделать лучше, но скрипт очень "так-себе". Но уж если очень хочется, https://github.com/bats-core/bats-core можно и на нём тесты написать


  1. Viacheslav01
    09.01.2026 14:35

    Зачем выбеделять жирным, то что не требует выделения? LLM?


    1. randvell
      09.01.2026 14:35

      Если честно, напоминает стилистику раннего интернета, когда было поверие что так лучше читается и как-то иначе анализируется поисковыми машинами. Иногда перечитываю свои ранние публикации (не на хабре) и, как говорится у молодежи: "кринжа ловлю".


      1. igra_5bot
        09.01.2026 14:35

        1. Во времена 5-10-30 секундных видеороликов, увеличения количества выявлений СДВГ -навыки чтения сильно ухудшаются или почти совсем теряются. Один из ярких ежедневных примеров-шаблонные ответы не по теме(но около!) не только сотрудников техподдержки,но и инженеров.
          Вот свежая-была заявка на проблему с сайтом кэшбэка. Ответ-Сайт домашнего ТВ работает отлично,проблем не выявлено.
          А все ли технические специалисты читают хабр? Или остались одни маркетологи, бизнесмены и SEO_специалисты...?
          По моему личному мнению, выделять главное- это не только нужно/делается для толерантности,инклюзивности и демократичности. Это ключевое качество настоящего неподдельного технического инженера,а не гуманитарного специалиста.


        1. DmitryKolosov
          09.01.2026 14:35

          Поддерживаю.

          Я веду картотеку по методу Лумана Zettelkasten. На карточках обязательно использую все три способа выделения: и полужирным, и курсивом, и подчеркиванием. На этапе "общения" с Цеттелькастен это очень помогает.


  1. UnknownUserMax
    09.01.2026 14:35

     if [ $use -gt 90 ]; then #ВАЖНО: не используем <>=, только -gt!!!

    if (( use > 90 )); then


    1. edik-petrof
      09.01.2026 14:35

      Не забываем, что это работает только для целых чисел. Тогда как -gt более универсален.

      P.S. В данном скрипте применимо, поскольку там идет деление с отбрасыванием дробной части. Подходит для расчетов, где +-1% не является критичным.


      1. UnknownUserMax
        09.01.2026 14:35

        будете сравнивать нецелые числа в баш - будет вам сюрприз.

        $ bash
        $ [[ 1.1 -gt 1 ]] && echo TRUE
        bash: [[: 1.1: arithmetic syntax error: invalid arithmetic operator (неверный маркер «.1»)
        $ [[ 1,1 -gt 1 ]] && echo TRUE
        $


  1. Goron_Dekar
    09.01.2026 14:35

    Как писал выше, прекрасно понимаю, что по одному скрипту не берут на работу, однако

    Однако берут. Более того скажу: есть такие "одни скрипты", "одни пет-проекты", "одни коммиты в linux", которые как, лет 40-60 назад, диплом с отличием или победа на международной олимпиаде гарантируют трудоустройство.

    И это хорошо, правильно. Людей определяют дела, достижения, результаты.


    1. ReadOnlySadUser
      09.01.2026 14:35

      По моему личному опыту - все что делалось больше 2-3 лет назад по большей части не имеет никакого значения.

      Ну, кроме совсем фундаментальных знаний конечно, но их одних недостаточно, чтобы получить приличную работу.


  1. Wesha
    09.01.2026 14:35

    У меня правило такое: когда суммарное время, затраченное на выполнение неких операций вручную, доходит до половины от того, которое, по моей оценке, я потратил бы на написание скрипта — я сажусь и пишу скрипт.

    (Некоторые такие скрипты за годы превратились в неслабых размеров систему.)


    1. Iluy Автор
      09.01.2026 14:35

      Вы говорите абсолютно верно.

      "Наша фирма" очень консервативна, и любые изменения, и отход от привычных паттернов зачастую воспринимаются не так легко, как хотелось бы. К счастью данный скрипт был воспринят в основном положительно.


    1. ReadOnlySadUser
      09.01.2026 14:35

      Я со временем пришел к тому, что если я делаю что-то третий раз - пора писать скрипт.


    1. VADemon
      09.01.2026 14:35

      https://xkcd.wtf/1319/ , а об вторую картинку можно мозг сломать, пока поймешь. Она показывает, сколько времени на автоматизацию тратить можно: https://www.explainxkcd.com/wiki/index.php/1205:_Is_It_Worth_the_Time%3F


  1. Borelli
    09.01.2026 14:35

    У меня не вяжется из статьи "на стол" и цель утилиты из примеров в репе "мониторинг раз в 30 минут". Если это чистый сервер или над которым нужно провести экспертизу, а мы не знаем, в каком состоянии сервер - как в него затащить код? Сетевуха может не работать, или их много, или часть в тиминге портов, настройки адресов - неизвестные или несовместимые с нашей "экспертизной" сетью, а USB порезали ещё на подходах в отделе ИБ? Переносить эти все "цвета" и "границы лимитов" каждый раз через консоль? (Ха, вспомнил, есть клавиатуры с внутренним буфером, вставил в, эм... USB, нажал клавишу, и из памяти клавиатуры в vim код скрипта напечатался)...

    Хотелось бы увидеть "уан лайнер", как было до автоматизации, там должен быть прям "концентрат", чтобы вбивать руками каждые 2-4 раза в день!

    А так - zabbix на минималках))))


  1. max9
    09.01.2026 14:35

    скрипт, если честно ужасен.

    1) нет шебанга
    2) "used=$((total - avail))" - почитайте чтоли как работает аллокация памяти в линуксе.
    3) ответ пинга от гугла не означает наличие интернета
    4) комментарии, как и вывод на русском. при отсутвии локали ничего хорошего не выйдет


    1. Wesha
      09.01.2026 14:35

      ответ пинга от гугла не означает наличие интернета

      Он означает наличие кусочика интернета!


      1. koshak_DAZ
        09.01.2026 14:35

        Если он порезан на шлюзе или у провайдера, а также на файрволле самого сервера - ответа не будет, но это не означает, что Интернета нет. Вы как Майкрософт, самоуверенно пишущая "Без подключения к Интернету", когда один их сервер не отвечает. :)


    1. TIEugene
      09.01.2026 14:35

      3) ответ пинга от гугла не означает наличие интернета

      Однако наличие пинга к серверам микрософта в Windows означает наличие интернета.
      А отсутствие оного означает "сеть есть, интернетов нет".
      Хотя интернет есть.


  1. BillyB
    09.01.2026 14:35

    Погоди, проверка диска, это типо узнать на сколько он заполнен? Как под линуксом вообще нормально проверить диск на бэды можно?


    1. TIEugene
      09.01.2026 14:35

      • "насколько" пишется вместе в данном случае (наречие)

      • под линуксом можно всё. Вот вообще всё. Даже свой линукс.


  1. YuriPanchul
    09.01.2026 14:35

    Я бы спросил на интервью: а почему вы в функции log используете echo, а не printf? Плюсы и минусы?


    1. TIEugene
      09.01.2026 14:35

      Я бы ответил на интервью - мой скрипт, как хочу - так и пишу.
      Здесь и сейчас мне понравилось echo.
      PS. а вот то, что Вы на интервью не спросили за обработку exception - возникает закономерный вопрос к интервьюеру о его квалификации.


  1. TIEugene
    09.01.2026 14:35

    Шутки шутками, но человек тянет уже на минимум middle:
    - провел исследования.
    - поставил себе ТЗ, сделал ТП
    - выбрал инструменты (bash, chatgpt), использовал оптимальным способом
    - получил результат, внедрил, оно работает.
    Я бы назвал уже не сисадмином, а системным интегратором light.

    @Iluy В скрипте нет обработки ошибок. Поэтому рекомендую:
    - обратите внимание на питон (python). Всё то же самое, только встроено.
    - обработка ошибок (exceptions) в баше - кино и немцы. В питоне с этим лучше.
    - ну и "сисадмин" vs "сисадмин + немного погроммист" весит больше.