Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

@bashdays

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

23 777подписчиков
🇷🇺

Похожие каналы

Все →

Последние посты

Bash Days | Linux | DevOps — пост в ТГ канале

Меня пытаются взломать!ㅤВсю неделю злые письки с «загнивающего запада» пытаются завладеть моей почтой. Я даже не представляю как такое возможно провернуть, я и сам с большим трудом вхожу в свой аккаунт, особенно «нравятся» приседания с аппаратным ключом и ошибками — что-то пошло не так, обратитесь к администратору.Блядь! Я и есть администратор!Если кто-то взломает, пришлите мне пожалуйста мой актуальный пароль, а то я как лох сижу и боюсь проебать сессию.Вчера на телефоне пришлось входить с помощью резервных кодов, NFC видимо из принципа не работал. Звезды не в той фазе или магнитные бури, а может быть GrapheneOS решила меня от чего-то защитить.Ну ладно, всегда были желающие, но 99% таких писем попадают в спам. Сейчас на рынке мало кто способен провести подобное мероприятие, причём грамотно.Сегодня расскажу как мы работали с такими «пенетраторами» и обучали нашу корпоративную систему на обнаружение подобной шляпы.Всё было довольно просто. В бородатые времена активно развивались различные андеграунд форумы (эксплоит.ин, античат и т.п.), сейчас молодежь кличат их общим словом — даркнет.К андеграунд сцене и её участникам я отношусь с почтением, можно сказать я познавал кишки линукса именно там.На таких площадках товарищи ежедневно размещали объявления о своих услугах. В том числе по лому почтовых ящиков. Были даже целые сервисы, которые за большие деньги гарантировали успешность мероприятия.На этом и играли. Предоплату обычно никто не просил, потому что гарантий рядовые исполнители никогда не давали, оплата только по результату. Чтобы убедиться что результат есть, нужно было отправить на заказанный ящик письмо с кодовым словом и это кодовое слово исполнитель должен был тебе назвать.Схемы, темки. Ага. Сейчас конечно такое давно уже не работает, почтовые сервисы тоже не дураки, даже условный evilginx не так просто протолкнуть, да чё юлить, его не каждый осилит, очень много нюансов.Ну дак вот. Чтобы от чего-то защищаться, нужно знать с чем и как нападают. А чтобы это узна

22 июн. 2026 г.2 060В Telegram

Да, это тот самый HR из поста про Plata.

22 июн. 2026 г.2 760В Telegram

🔥 Хотите выйти на валютную удалёнку с зарплатой до $8500/мес?Подготовили бесплатный набор материалов для DevOps-инженеров:📄 Шпаргалка по HR-интервью — как не отлететь на первом созвоне с рекрутером📄 Гайд по подготовке к техничке DevOps от компании из американского BigTech(*AANG)📄 5 практических советов, которые помогают проходить интервью чаще📄 Список из 30 компаний с удалёнкой и зарплатой в $ и €, где нанимают DevOps из СНГ 🎁 Бесплатный HR-скрининг с рекрутером для первых 20 участников — разберём ваше резюме, опыт, ожидания и дадим рекомендации перед выходом на рынокЭти материалы мы используем при подготовке кандидатов к международным собеседованиям.Для получения:✅ Подпишитесь на @careerpilot_org✅ Напишите в личку «DEVOPS»Наши клиенты DevOps получают офферы на валютную удалёнку до $8500/мес.Отзывы:https://www.youtube.com/@careerpilot-orgСайт:https://career-pilot.org/Реклама. ИП Легкова Т. К. ИНН:610205443831, erid:CQH36pWzJq5QsxWCyhSo4cvzyguK6jtFEMNXkfVuFtPxdw

22 июн. 2026 г.2 640В Telegram

Вчера на фоне поста про даунгрейд, прилетело довольно дофига вопросов. Сделал что-то вроде мини ФАКю, чтобы поменьше неопределенности было.ㅤВы помогаете написать резюме?Да, но как только сдашь 20 домашек и мы с тобой поймем в какую сторону двигаться. Ты скидываешь мне своё резюме и мы с тобой его подробно разбираем и усовершенствуем. Прокачиваем до состояния — ИИ (Applicant Tracking System) пропускает, HRы обращают на него внимание.Помогаете с трудоустройством?Готовую вакансию не дам, но помогу найти людей, которые захотят тебя забрать к себе в команду. Работает это так: я пишу пост сюда, о том какой ты замечательный и что умеешь. Но напишу только правду, если слаб на передок, то это отразим. Чтобы для работодателя было все прозрачно и без сюрпризов. Тема рабочая, порой ты видел такие посты здесь например такой, много кто оторвал себе хороший и жирный оффер.Будут созвоны 1x1?Нет, текстовый формат. Мне тебе проще текстом всё ёмко объяснить, чем вешать лапшу на уши в реальном времени. К созвонам отношусь скептически и стараюсь их избегать, потому что в 99% мы будем общаться про всякую хуйню, а не по делу. Текст всё же держит в рамках и помогает сосредоточиться на главном.А я устроюсь на работу если мне 40 лет?Да, ты «баба ягодка», все хотят чтобы ты их выебал. И лишь ты выбираешь с кем будешь работать. Не они тебе нужны, а ты им. Главное взять себя в руки на пару недель и немного повоевать со своей ленью. Один раз инвестировал в себя и на десяток лет ты в малине.А как вписаться?Как обычно, через бота @tormozilla_bot, а если остались вопросы, можешь позадавать их мне тут @linuxfactorybot🛠 #workflow #рабочиебудни—💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

18 июн. 2026 г.5 570В Telegram

Уже подписан на топовый канал про ИИ и облака?📊📊📊📊📊◯ Да⠀⠀ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯◯ Нет, но хочу ⠀⠀ ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ 📊📊📊 📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊📊

18 июн. 2026 г.5 400В Telegram

Зарплатный даунгрейдКороче, пришел ко мне в феврале человек на Linux Factory, подтянуть и освежить свои знания. Мол скучно ему стало, захотелось мяса. Трудится сеньором-помидором в крупной зеленой компании. Стандартная ситуация. ㅤИиии, как-то речь зашла про его ЗП и что он ей вообще не доволен. Но что-то менять страшно, ипотека, дети, да и возраст уже не тот, чтобы дрыгаться. Звоночек. С этим можно интересно поработать и доказать неочевидную гипотезу.Гипотеза — все эти разделения на джун-писюн, мидл-хуидл и т.п. грейды никак не коррелируются с зарплатными вилками. Всё зависит от компании и их жадности. Богаче, не значит — лояльнее к сотрудникам.Проводим пару внеурочных текстовых сеансов, набираемся мотивации, перелопачиваем вакансии (важно — ищем вакансии на Мидла), составляем продающее резюме, ходим по собеседованиям.Ииии…. через неделю получаем оффер, причем очень жирный оффер, почти x2.5 от текущий ЗП. При условии, что график полностью удалёнка (не гибрид), нет кубера, стек из 40-50 виртуальных серверов, докер, гитлаб, даже ансибла нет.Суть работы — сидеть на жопе ровно и саппортить текущую инфраструктуру. Да, есть нюансы, нужно с нуля систему мониторинга построить, но это прям детские игрушки.Вот и думай. Шаг назад прям хороший. Гипотеза доказана.Компании которые ворочают миллиардами, нанимают сотрудников на позицию Сеньоров за миску супа. А какие-то обычные Интернет магазины, готовы платить за Мидла 100500 мильонов в секунду.Так что, нет ничего стыдного в даунгрейде, ведь любая работа прежде всего делается ради денег.Отзыв этого человека как-нибудь размещу на сайте, а то там контекста много лишнего, надо отредачить.Если кратко, испытательный успешно пройден, в коллектив влился, инфраструктуру взял под контроль, мониторинг уже настроен, работа занимает теперь от силы 2-4 часа в день и то уже в процессе автоматизации.Вот такие пироги. Не ссы и двигайся вперед, а то так и просидишь до старости пропёрдывая кресло.🛠 #workflow #рабочиебудни—💬 Bashdays 📲 MAX 🌐 LF

17 июн. 2026 г.5 950В Telegram
Bash Days | Linux | DevOps — пост в ТГ канале

Сегодня будем устанавливать в свой периметр крутую штуку. И называется она — Termix. Выбрал я её по причине — решил все 100500 серверов свести в одно место, возможно станет поудобнее. Да и поддержка VNC из коробки, а мне как раз надо кластер из mac mini m4 для ИИ админить. Ну и корпоративные винды всякие по RDP. В общем пока звучит очень вкусно.Termix — это платформа для управления серверами с открытым исходным кодом, полностью бесплатная. Она предоставляет единое кроссплатформенное решение для управления серверами и инфраструктурой через один удобный интерфейс. Termix является альтернативой Termius и доступен на всех популярных платформах.Termix предлагает:- доступ к терминалу по SSH;- управление удалённым рабочим столом (RDP, VNC, Telnet);- создание SSH-туннелей;- удалённое управление файлами;- и множество других инструментов.Короче эта штука позволяет подключаться по SSH и т.п. к серверам, прям из браузера. Довольно удобно собрать всё в кучу и забыть про ручную рутину. Хотя ручная рутина порой приятнее, чем все эти «новогодние ёлки» и клики мышкой.Читать продолжение: https://two.su/ckebu🛠 #devops #selfhosted—💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

15 июн. 2026 г.5 550В Telegram
Bash Days | Linux | DevOps — пост в ТГ канале

Управление Docker контейнерами без Portainer и DockgeㅤДолгое время я сидел на Dockge, оно хостится у меня на малинке. А на самой малинке я гоняю: jellifyn, qbittorrent, grafana, prometheus, uptime kuma, watchyourlan, technitium dns.Для таких целей Portainer крайне избыточен, мне в хер не уперся космический корабль, да и многое в Portainer сделано через жопу, хрен чё найдешь.Поэтому Dockge покрывает все мои хотелки. Но рано или поздно хочется нового.И новое это — DockHand. Причем этот проект не просто пилит какой-то энтузиаст, проект с закосом на интерпрайз. Но полностью opensource.Люблю opensource, за то, что если есть закос на интерпрайз, то можно посмотреть исходники и реверснуть лицензию. С DocHand я пока особо глубоко не ковырялся, но чуть позже обязательно пропатчу, как собственно провернул это с mattermost, gitlab и т.п.Да, по функционалу DockHand ничем не уступает Portainer и даже превосходит его. Для меня важно, чтобы всё было очевидно и понятно, без - хуй чё найдешь. И тут с этим всё прекрасно.Ладно, чем бы дитя не тешилось. Вкорячиваем...Читать продолжение: https://two.su/2517q🛠 #devops #selfhosted—💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

11 июн. 2026 г.7 890В Telegram

Всем привет. Сегодня хочу поговорить о культуре написания условий bash. Точнее, об использовании отрицаний (НЕ).🔤🔤🔤🔤🔤🔤🔤Поводом послужила конструкция, которую я нашел при изучении одного скрипта:if [[ ! -f "$file" || ! -r "$file" || ! -w "$file" ]];then echo "Ошибка: Файл отсутствует или нет прав на чтение/запись"# exit 1fi ㅤРасшифруем:! -f "$file" - НЕ регулярный файл (возможно каталог, устройство, или вообще ничего). ! -r "$file" - у файла НЕт прав на чтение. ! -w "$file" - у файла НЕт прав на запись.Условия объединены по ИЛИ, значит если выполнится какое-либо - будет ошибка. С точки зрения логики - все правильно, но у меня лично в глазах рябит от количества палок. 👆На мой взгляд, отрицания сильно осложняют понимание. Вспоминаем, что:! A || ! B эквивалентно ! [ A && B ] ! A && ! B эквивалентно ! [ A || B ] 👆И помним, что пробелы в условиях bash критически важны. Таким образом, конструкцию можно переписать, с сохранением функциональности:if ! [[ -f "$file" && -r "$file" && -w "$file" ]];then echo "Ошибка: Файл отсутствует или нет прав на чтение/запись"# exit 1fiРасшифруем:НЕ (файл регулярный И есть права на чтение И есть на запись). В этой конструкции тоже есть отрицание, но оно уже одно! Конструкцию можно привести к еще более человеческому виду:if [[ -f "$file" && -r "$file" && -w "$file" ]];then :else echo "Ошибка: Файл отсутствует или нет прав на чтение/запись"# exit 1fiЗдесь отрицание заменено переносом тела if в тело оператора else. ":" необходимо, потому что между if и else должен быть хотя бы один оператор (в данном случае ":" эквивалент оператора true или nop. Можно записать и:if [[ -f "$file" && -r "$file" && -w "$file" ]];then :else echo "Ошибка: Файл отсутствует или нет прав на чтение/запись"# exit 1fi👆 Обратите внимание на ":" после then Но на мой взгляд, в данном случае, читаемость несколько ухудшится. Хотя первая конструкции и остальные конструкции эквивалентны, но отличие все же есть - скорость работы (Особе

9 июн. 2026 г.5 610В Telegram
Bash Days | Linux | DevOps — пост в ТГ канале

Робот Грин, доверие в ИТ и саботаж ИИ! 👾10 июня зовём вас на площадку «Сигнал», чтобы узнать и обсудить:👉 Как создавали робота Грина — танцевальную звезду AI Journey‑2025.👉 Каким образом доверие, договороспособность и длинный взгляд влияют на успех технологий.👉 Почему разработчики саботируют ИИ и как это исправить.Встречаемся 10 июня в 18:30 по адресу: г. Самара, ул. Лесная, 23, корп. 2, 2‑й этаж.Регистрация по ссылке. Места ограничены — успейте занять своё! 💚

8 июн. 2026 г.6 680В Telegram
Bash Days | Linux | DevOps — пост в ТГ канале

Переезд инфраструктуры часто откладывают, потому что он требует времени, планирования и отдельной команды специалистов. Но затягивать такие проекты тоже не всегда выгодно.Yandex Cloud открыл программу миграции для компаний, которые переносят свои системы из сторонних облаков, хостингов или собственной инфраструктуры.Программа включает:• грант на 60 дней, полностью покрывающий облачные расходы на миграцию, рассчитанный под ваши задачи • консультации архитектора по проектированию целевой архитектуры; • поддержку персонального менеджера на каждом этапе миграции;Платформа Yandex Cloud объединяет более 75 сервисов и 4 собственных дата-центра для разработки и эксплуатации ИТ-инфраструктуры. Оплата производится только за использованные ресурсы.Подать заявку и перенести инфраструктуру в Yandex Cloud на выгодных условиях можно до 20 июня.

4 июн. 2026 г.8 100В Telegram

Si vis pacem, para bellumВсе вокруг ноют, что у нас какой-то кризис в айти, рынок перегрет, вакансии схлопываются, а на одно место претендуют сотни кандидатов.Да, так и есть. Искали мы тут QA специалиста, за неделю скинули более 2000 резюме. Это пиздец. Как будто нейронка по вакансии прошлась и нагенерила нам вайтишников.С QA всё понятно, это самый простой вход в наш «цирк абсурда», но вот с другими вакансиями аналогичная ситуация. Причем кандидаты гнут пальцы и не хотят делать тестовые задания, даже за деньги.Разленились падлы, подавай им сразу оффер и оклад 100500 мильонов за нехуй делать с обязательной удаленкой. Да идите вы нахуй!Ладно, я немного про другое хотел тебе написать. Тема довольна избитая — стоит ли сейчас увольняться и прыгать на другую работу, если ты уже официально трудоустроен?Однозначно стоит, если предлагают x3-x4 к текущей ЗП. Но возникает парадокс. Казалось бы, сиди тихо, цени текущее место и не дергайся. Но всегда есть НО.ㅤЗона комфорта vs Испытательный срокНа текущем месте работы, ты знаешь как всё устроено, где что лежит, можешь с закрытыми глазами ориентироваться, в общем царь и бог. Работаешь от силы 2-3 часа в день в комфортном для себя режиме, ездишь по делам и пинаешь хуи.На новом месте работы — баланс придется выстраивать с нуля, неизвестность, снова DODы испытательного срока, новые технологии, коллеги-токсики. И опять же уровень компетенции. Если на предыдущем месте ты уверенный мидл-сеньор, то на новом месте, грейды оцениваются иначе.Коллега сеньор-фронтендер сходил в яндекс на технический собес ииии, барабанная дробь — его скилы оценили как джуновские, соответственно предложили ЗП намного меньше чем он рассчитывал. А всё, потому, что технологии шагнули вперед, а он всё еще на втором ангуляре кнопочки двигает.Ежу понятно, что ключевой фактор это деньги. То есть здесь интересен не столько вопрос «правильно ли я поступаю», сколько вопрос «что именно я продаю и что покупаю».Если смотреть со стороны:Вместе с новой зарплатой получаем нов

3 июн. 2026 г.7 660В Telegram

Всем привет. Недавно прилетела неожиданная задача: Организовать скриптом sftp-обмен по со старых версий винды с аутентификацией по ключам. 🔤🔤🔤🔤🔤🔤🔤 С 10+ все понятно. Там и ssh и sftp из коробки есть настройка от linux вообще не отличается. А вот со старыми - проблема. ㅤПочему до сих пор используются старые версии? Да потому что работают. А выставлять их наружу никто не собирается. Так что пока работает будет работать. Ну, я отвлекся. Итак sftp. Я нашел две программы psftp (из комплекта putty) и winscp.Попробовал обе и psftp пришлось забраковать. Оказалось, она не хочет работать, если не видит файлов в каталоге. (права xw (3)). А winscp.com (не сайт, программа для работы в скриптах из комплекта winscp) работает. Вот ее и будем настраивать. 1. Генерим ключ без парольной фразы с помощью puttygen (из комплекта putty). Желательно выбрать EdDSA(Ed25519(255 bits). Он маленький, и с ним удобно работать. Сохраняем публичный ключ в формате *.ppk . 2. Для того, чтобы публичный ключ нормально читался его нужно привести к однострочному виду: ssh-ed25519 AAAAC3....8cJiPqx0VAOmEI+yy user@hostЯ редактировал прямо в vim. 3. После этоого вставляем ключ в authorized_keys на серваке. 4. Запускаем winscp.exe и в настройках → хранилище меняем реестр на ini файл. Это нужно сделать, чтобы скрипт работал и от другого пользователя. 5. В WinSCP.exe создать подключение например «servername» указав ключ. В подключении можно и начальный каталог указать сразу. 6. Обязательно протестировать соединение приняв fingerprint. 7. Создать скрипт обмена script.sftp типа: open servername put filename get filename1 bye 8. Запуск скрипта обмена: C:\prog\WinSCP\winscp.com /ini=C:\prog\WinSCP\WinSCP.ini /logsize=2*100K /script=C:\prog\WinSCP\script.sftp /log="C:\prog\WinSCP\script.sftp.log" /console9. Иногда, Скрипт, при запуске из какой-нибудь программы типа 1c не срабатывает. Тогда строку пункта 8 проще записать в какой-нибудь servername.bat и выполнять его из

2 июн. 2026 г.5 860В Telegram
Bash Days | Linux | DevOps — пост в ТГ канале

Китайские LLM продолжают завоевывать рынок За пару месяцев вышли сразу несколько сильных open source релизов: GLM-5.1, Kimi K2.6, DeepSeek V4 Pro. Что интересного:▶️GLM-5.1 — мощная модель для Agentic AI: умеет автономно выполнять задачи до 8 часов и поддерживает сложные сценарии.▶️Kimi K2.6 делает ставку на мультимодальность и Agent Swarm-подход, позволяя оркестрировать до 300 субагентов.▶️DeepSeek V4 Pro выделяется контекстом до 1 млн токенов и гибридной архитектурой внимания для эффективной работы с длительным контекстом.Как внедрить в проекты:📍 Все модели доступны в каталоге Evolution Foundation Models от Cloud.ru.В сервисе уже 45+ популярных LLM. Модели готовы к использованию — не нужно развертывать инференс и писать код, достаточно подключиться через API.👉Протестируйте новые модели в личном кабинете👈

2 июн. 2026 г.5 290В Telegram

Когда начинаешь вкатываться в Ansible, кажется что loop нужен вот прям всегда и везде. Но это не так.ㅤМногие пишут:- name: install packages ansible.builtin.apt: name: "{{ item }}" state: present update_cache: yes loop: "{{ packages }}"А переменная packages содержит список пакетов на установку.И вроде тут всё ок, НО apt вызывается для каждого пакета отдельно, а update_cache может дёргаться несколько раз. Это избыточно и ломает заложенные паттерны.Поэтому правильнее будет сделать так:- name: install packages ansible.builtin.apt: name: "{{ packages }}" state: present update_cache: yesЗдесь apt получает сразу список пакетов, кеш обновляется один раз, установка идёт одной транзакцией. Получается меньше оверхеда, всё происходит быстрее и логичнее.В первом случае это «хак», ты делаешь loop из одного элемента, внутри которого уже лежит список.Главная мысль тут — если модуль умеет принимать список — loop нахуй не нужен.Loop нужен там, где логика на каждый элемент отдельная:- разные параметры- условия- шаблоны- создание пользователей- файлы- сложные таскиКороче не заLOOPайся и будет тебе счастье.Ну а если хочешь стать гуру, я всегда жду тебя здесь.🛠 #devops #linuxfactory #ansible—💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

25 мая 2026 г.9 860В Telegram