Если что, это не кликбейт. История довольно проста: в один из рабочих дней (работаю экспертом по компьютерной экспертизе) мне "на стол" попал сервер на 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)

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

TIEugene
09.01.2026 14:35Ну так добавьте, кто ж мешает. OpenSource - оно такое.

KotPoliglot
09.01.2026 14:35Так у меня есть, я про данный скрипт писал, а про OpenSource нет)
За что не стыдно, в основном, опубликовано)

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

jsirex
09.01.2026 14:35Ещё есть всякие штуки, которые для тестов инфраструктуры используются и прочих провер. На вскидку, ChefSpec (он же был Inspec, он же вырос из serverspec, хз как там лицензия сейчас). Но https://serverspec.org/ вроде бы живой. пиши себе тесты да и красиво показывай.
От ансибла тоже что-то было, только жутко тормознутое.
Конечно, bash наше всё и можно сделать лучше, но скрипт очень "так-себе". Но уж если очень хочется, https://github.com/bats-core/bats-core можно и на нём тесты написать

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

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

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

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

UnknownUserMax
09.01.2026 14:35if [ $use -gt 90 ]; then #ВАЖНО: не используем <>=, только -gt!!!
if (( use > 90 )); then
edik-petrof
09.01.2026 14:35Не забываем, что это работает только для целых чисел. Тогда как -gt более универсален.
P.S. В данном скрипте применимо, поскольку там идет деление с отбрасыванием дробной части. Подходит для расчетов, где +-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
$

Goron_Dekar
09.01.2026 14:35Как писал выше, прекрасно понимаю, что по одному скрипту не берут на работу, однако
Однако берут. Более того скажу: есть такие "одни скрипты", "одни пет-проекты", "одни коммиты в linux", которые как, лет 40-60 назад, диплом с отличием или победа на международной олимпиаде гарантируют трудоустройство.
И это хорошо, правильно. Людей определяют дела, достижения, результаты.

ReadOnlySadUser
09.01.2026 14:35По моему личному опыту - все что делалось больше 2-3 лет назад по большей части не имеет никакого значения.
Ну, кроме совсем фундаментальных знаний конечно, но их одних недостаточно, чтобы получить приличную работу.

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


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

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

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

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

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

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

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

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

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

TIEugene
09.01.2026 14:35Шутки шутками, но человек тянет уже на минимум middle:
- провел исследования.
- поставил себе ТЗ, сделал ТП
- выбрал инструменты (bash, chatgpt), использовал оптимальным способом
- получил результат, внедрил, оно работает.
Я бы назвал уже не сисадмином, а системным интегратором light.@Iluy В скрипте нет обработки ошибок. Поэтому рекомендую:
- обратите внимание на питон (python). Всё то же самое, только встроено.
- обработка ошибок (exceptions) в баше - кино и немцы. В питоне с этим лучше.
- ну и "сисадмин" vs "сисадмин + немного погроммист" весит больше.
petropavel
Глаз зацепился за "работаю экспертом по компьютерной экспертизе". Подумал, "блин, опять", а потом читаю, и действительно же автор работает экспертом и проводит экспертизы!
Пожалуй положу в закладки и буду кидать всем, у кого "нет в этой области экспертизы"
TIEugene
Я тоже в закладки записал. Спасибо за каммент, так бы пропустил.
PS. "Ну ты понел", без работы не останемся. Даже с AI.
Iluy Автор
Если быть честным, то к моему огромному сожалению, моя работа достаточно шаблонна. С течением времени, "шаблоны" нарабатываются. Чек "железа" ИИ не проведёт, а вот сделать первоначальный слепок системы и даже частично ответить на поставленные вопросы, думаю - да, сможет.
Вот кто точно не должен бояться ИИ - так это сисадмины (практически всех направлений).
TIEugene
Кстатеда. Автору респект за то, что он не "ChatGPT - шозахерь?" - а руками нарисовал скрипт на баше.
Пост-AI, автору респектище. За рекламу думать моском, а не chatgpt.
(PS. я ему птичку поставил, если что).
aiminkai
Думать моском, но задания давать нейронке. Скрипт однозначно ею написан, ибо в выводе символы (птичка успех, крестик облом). Как написавший много скриптов заверяю, сам искать код этих символов не будешь, красоты ради. А нейронку хлебом не корми, везде их суëт.
Это не укор. Ключевое - понять, что нУжен скрипт, какОй он нужен и что его тОчно можно создать. А пишет пусть нейронка, экономит уйму времени. Как написавший много скриптов заверяю)
neoclar
Мне вот понравились эти галочки и крестики без фона, они у меня в заметках сохранены, чтоб не искать. Так что для логирования пихаю и без нейронки.
Но соглашусь, что ИИшке они тоже нравятся и что это сигнал о том, что что-то тут нечисто и попахивает нейронкой.
Iluy Автор
За комментарий спасибо, но скрипт на 75% мой. Использовал DeepSeek только для корректного вывода цветов (думаю что здесь простительно) и немного для раздела с памятью ( if [ -n "$total" ] && [ -n "$avail" ]; - долго тупил как сделать корректный вывод информации).
В остальном писал сам и активно гуглил. Я думаю вы согласитесь, что каждый раздел скрипта это практически одно и тоже - всё через условный оператор if-else.
P.S.: символы галки и крестика мои)))
achekalin
Тут, кажется, и текст от чатгпт, по признаку выделять болдом все "важное" (по сути, то, что при чтении можно громким голосом прочесть; гпт так считает, в жизни же такое выделение обычно не нужно и не используется в подобных случаях).
И, да, признаю, что так и живой человек может форматировать. Это у меня тригернуло, потому что уж очень много такого стало, гпт-ного.
Iluy Автор
Текст писал я, вам действительно кажется. Выделил жирным, для того, что бы обозначить важные/ключевые моменты. Думаю никакого смысла нет, для привлечения ИИ для написания столь простой истории. В любом случае, спасибо за внимание к кейсу.
TIEugene
... и потом рихтовать кувалдой.
Скрипты баша, написанные нейронкой, не видел.
А вот скрипты питона - видел. Ппц. Проще удалить и написать заново, чем рихтовать.