Bash и автоматизация
Скрипты, однострочники, awk, cron, mapfile и практическая автоматизация рутины.
Все, что помогает писать понятные скрипты и автоматизировать рабочую рутину без лишней магии.
Почему лишние условия убивают читаемость в Bash
Мне за 30, я видел много скриптов с дьявольскими отрицаниями, и каждый раз хотелось задушить автора. Поэтому я решил написать пост, в котором покажу как превратить кошмарную конструкцию в простой if-else без единого лишнего знака. Ты узнаешь, почему отрицания усложняют чтение, и как делать проверки файлов и прав доступа так, чтобы они были интуитивно понятны. Это базовый навык, без которого ты будешь мучиться всю свою DevOps-карьеру.
Как я скрестил WinSCP, Puttygen и CMD на старой винде
Часто слышу, что автоматизировать sftp на Windows XP‑10 невозможно без кучи сторонних утилит. На деле всё проще. Я разобрался, как затащить sftp с ключами на такие системы. Самое смешное — WinSCP пришлось настроить так, чтобы он не лез в реестр, а брал настройки из ini-файла. Иначе под разными пользователями скрипты падают.
Как перейти с Docker на Podman
Вместе с Романом Шубиным, СТО и автором канала Bash Days, собрали отдельный мини-курс по Podman. Внутри — восемь материалов, которые помогут освоить инструмент с открытым исходным кодом для работы с контейнерами.
Hugo за 30 секунд. Мой пайплайн на Gitea Actions
Мне надоело кормить корпоративных монстров своими данными и ждать пока их джава-скрипты прогрузятся. Gitea встала на мой дохлый сервер как родная и начала летать даже с кривым конфигом. Ты получишь тот же функционал но без слежки и с полным контролем над железом. Это как купить свой дом вместо аренды квартиры с подселением к чужим тараканам. Попробуй один раз и обратно на облачные помойки уже не потянет.
Awk для новичков. Как автоматизировать анализ логов
Я знаю, что сейчас все гонятся за JSON, и это удобно для новичков. Но когда речь заходит о реальной работе с большими логами, я всегда возвращаюсь к awk. Мой опыт показывает, что для быстрых фильтров и обработки огромных объемов данных awk часто обходит современные форматы. Я покажу, как использовать его мощь, когда другие инструменты начинают тормозить.
Браузерный киберпанк-симулятор хакера — DeepNet
Забудьте про графику, в DeepNet всё построено на терминале и командах Bash. Игра очень атмосферная, с онлайн-миром и кучей возможностей для прокачки. Я залип на ней надолго, советую всем, кто любит подобные симуляторы.
15 функций Bash, которые стоит добавить в .bashrc
Если ты часто работаешь в командной строке, тебе точно пригодится подборка моих bash-функций для .bashrc. Они делают рутинные задачи намного удобнее и быстрее. Зацени и добавь себе.
Особенности использования sftp в Bash скриптах
Как автоматизировать sftp через скрипты. Объясню, почему key-based authentication это важно и как batch-mode помогает ловить ошибки.
Безопасное управление секретами в скриптах и приложениях
Часто в скриптах приходится работать с паролями и ключами, но как не оставить их на диске? Делюсь простым приемом на Bash и более надежным вариантом на C с блокировкой памяти. Погнали!
Как разделить личные и рабочие git-конфиги без костылей
Забудь про постоянные правки git-конфига или скрипты перед пушем! Рассказываю, как настроить git, чтобы он автоматически подставлял разные user.email и user.name для личных и рабочих проектов.
Настройка Yubikey + WSL2 + SSH
Как подключить физический YubiKey к WSL2, чтобы использовать его для SSH без паролей и SMS. Разберёмся с проблемами прокидывания USB в WSL и сделаем автоматический скрипт, который решит баги с повторным подключением ключа.
Капча под контролем или как нажать F24
Я придумал хитрую капчу и покажу как с помощью xdotool ее можно эффективно обойти. Роботы же начинают троить, кейс отлично подходит под нишевые проекты с защитой от дурака.
Терминальный браузер нового поколения
Если любишь терминал и хочешь попробовать что-то новое, Brow6el для тебя. Сборка не из пакетов, но есть скрипты. Браузер поддерживает графику, скрипты и все современные фишки.
Как заставить ZSH автоматически перечитывать конфиг
Лень каждый раз вводить source ~/.zshrc? У меня тоже! Сделал автоперезагрузку конфига в ZSH с проверкой синтаксиса — делюсь, как это работает и что стоит учесть.
Используем BASH_REMATCH или группы в регулярных выражениях
В этом посте разберём, как легко и удобно извлекать нужные части из строки с помощью групп в регулярках Bash. Всё на живом примере создания и фильтрации файлов.
Помещаем процессы в «клетку» или cgroups для начинающих
Сегодня покажу, как ограничить жор ресурсов у своих скриптов. Если хочешь, чтобы сервер не превращался в печку — тебе сюда.
Туалетная бумага по cron’у
Каждый месяц я забывал заказать туалетную бумагу, пока не написал Bash-скрипт, который делает это за меня. В этом посте расскажу, как с реверсом API и cron’ом автоматизировал рутину.
Governors — как и зачем менять частоту процессора
Иногда хочется заставить процессор работать на полную, а иногда сберечь батарею. Расскажу, как это сделать с помощью governors и небольшого bash-скрипта.
Легендарная Star Trek 1971 года на Bash
Вот что бывает, когда классика встречается с современным Bash! Bash Trek — это пошаговая стратегия из 70-х, ожившая в терминале. Готовься к тактическим баталиям и ностальгии.
Как я оптимизировал тормоза 1С на PostgreSQL с помощью pidstat
Делюсь скриптом и лайфхаками, которые помогли нам понять, где именно «тормозит» база и 1С в реальной работе.
Быстрый способ запускать задачи в cron с шагом 30 секунд
Если не хочется возиться с systemd timers, вот простой хак для запуска скриптов в cron каждые 30 секунд. Быстро и понятно!
Читаем файл построчно в Bash
Забудь про бесконечные циклы для чтения файлов в Bash! Показываю, как работать с mapfile, зачем нужен строгий режим и как избежать типичных ошибок в скриптах.
Визуальный сервис для разбора Bash/Shell команд
Рассмотрим сервис в виде веб-сервиса, который помогает понять, что делает та или иная shell-команда в Unix/Linux. Проще говоря, ты вставляешь команду, а оно разбирает её и объясняет фрагмент за фрагментом, что означает каждая часть.
Упоротые Bash/Shell однострочники
Посылаем PING всем redis'ам в кластере и собираем PONG в ответ.
Telnet для сетевых инженеров. Автоматизация и обход логина
Если тебе надо быстро подключиться к сетевому устройству и выполнять команды — этот пост для тебя. Поделюсь рабочими скриптами для Telnet с и без логина, а также лайфхаками по парсингу ответов.
CRON в первый рабочий день месяца
Сегодня будет обучать cron понимать рабочие и выходные дни. Из коробки этот функционал не работает, да и systemd тут не особо поможет. Так что, придется изобретать очередную кишку.