Подборки

Bash и автоматизация

Скрипты, однострочники, awk, cron, mapfile и практическая автоматизация рутины.

bash shell awk скрипт скрипты cron однострочник mapfile автоматизация

Все, что помогает писать понятные скрипты и автоматизировать рабочую рутину без лишней магии.

26 материалов в подборке
  1. Почему лишние условия убивают читаемость в Bash

    Мне за 30, я видел много скриптов с дьявольскими отрицаниями, и каждый раз хотелось задушить автора. Поэтому я решил написать пост, в котором покажу как превратить кошмарную конструкцию в простой if-else без единого лишнего знака. Ты узнаешь, почему отрицания усложняют чтение, и как делать проверки файлов и прав доступа так, чтобы они были интуитивно понятны. Это базовый навык, без которого ты будешь мучиться всю свою DevOps-карьеру.

  2. Как я скрестил WinSCP, Puttygen и CMD на старой винде

    Часто слышу, что автоматизировать sftp на Windows XP‑10 невозможно без кучи сторонних утилит. На деле всё проще. Я разобрался, как затащить sftp с ключами на такие системы. Самое смешное — WinSCP пришлось настроить так, чтобы он не лез в реестр, а брал настройки из ini-файла. Иначе под разными пользователями скрипты падают.

  3. Как перейти с Docker на Podman

    Вместе с Романом Шубиным, СТО и автором канала Bash Days, собрали отдельный мини-курс по Podman. Внутри — восемь материалов, которые помогут освоить инструмент с открытым исходным кодом для работы с контейнерами.

  4. Hugo за 30 секунд. Мой пайплайн на Gitea Actions

    Мне надоело кормить корпоративных монстров своими данными и ждать пока их джава-скрипты прогрузятся. Gitea встала на мой дохлый сервер как родная и начала летать даже с кривым конфигом. Ты получишь тот же функционал но без слежки и с полным контролем над железом. Это как купить свой дом вместо аренды квартиры с подселением к чужим тараканам. Попробуй один раз и обратно на облачные помойки уже не потянет.

  5. Awk для новичков. Как автоматизировать анализ логов

    Я знаю, что сейчас все гонятся за JSON, и это удобно для новичков. Но когда речь заходит о реальной работе с большими логами, я всегда возвращаюсь к awk. Мой опыт показывает, что для быстрых фильтров и обработки огромных объемов данных awk часто обходит современные форматы. Я покажу, как использовать его мощь, когда другие инструменты начинают тормозить.

  6. Браузерный киберпанк-симулятор хакера — DeepNet

    Забудьте про графику, в DeepNet всё построено на терминале и командах Bash. Игра очень атмосферная, с онлайн-миром и кучей возможностей для прокачки. Я залип на ней надолго, советую всем, кто любит подобные симуляторы.

  7. 15 функций Bash, которые стоит добавить в .bashrc

    Если ты часто работаешь в командной строке, тебе точно пригодится подборка моих bash-функций для .bashrc. Они делают рутинные задачи намного удобнее и быстрее. Зацени и добавь себе.

  8. Особенности использования sftp в Bash скриптах

    Как автоматизировать sftp через скрипты. Объясню, почему key-based authentication это важно и как batch-mode помогает ловить ошибки.

  9. Безопасное управление секретами в скриптах и приложениях

    Часто в скриптах приходится работать с паролями и ключами, но как не оставить их на диске? Делюсь простым приемом на Bash и более надежным вариантом на C с блокировкой памяти. Погнали!

  10. Как разделить личные и рабочие git-конфиги без костылей

    Забудь про постоянные правки git-конфига или скрипты перед пушем! Рассказываю, как настроить git, чтобы он автоматически подставлял разные user.email и user.name для личных и рабочих проектов.

  11. Настройка Yubikey + WSL2 + SSH

    Как подключить физический YubiKey к WSL2, чтобы использовать его для SSH без паролей и SMS. Разберёмся с проблемами прокидывания USB в WSL и сделаем автоматический скрипт, который решит баги с повторным подключением ключа.

  12. Капча под контролем или как нажать F24

    Я придумал хитрую капчу и покажу как с помощью xdotool ее можно эффективно обойти. Роботы же начинают троить, кейс отлично подходит под нишевые проекты с защитой от дурака.

  13. Терминальный браузер нового поколения

    Если любишь терминал и хочешь попробовать что-то новое, Brow6el для тебя. Сборка не из пакетов, но есть скрипты. Браузер поддерживает графику, скрипты и все современные фишки.

  14. Как заставить ZSH автоматически перечитывать конфиг

    Лень каждый раз вводить source ~/.zshrc? У меня тоже! Сделал автоперезагрузку конфига в ZSH с проверкой синтаксиса — делюсь, как это работает и что стоит учесть.

  15. Используем BASH_REMATCH или группы в регулярных выражениях

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

  16. Помещаем процессы в «клетку» или cgroups для начинающих

    Сегодня покажу, как ограничить жор ресурсов у своих скриптов. Если хочешь, чтобы сервер не превращался в печку — тебе сюда.

  17. Туалетная бумага по cron’у

    Каждый месяц я забывал заказать туалетную бумагу, пока не написал Bash-скрипт, который делает это за меня. В этом посте расскажу, как с реверсом API и cron’ом автоматизировал рутину.

  18. Governors — как и зачем менять частоту процессора

    Иногда хочется заставить процессор работать на полную, а иногда сберечь батарею. Расскажу, как это сделать с помощью governors и небольшого bash-скрипта.

  19. Легендарная Star Trek 1971 года на Bash

    Вот что бывает, когда классика встречается с современным Bash! Bash Trek — это пошаговая стратегия из 70-х, ожившая в терминале. Готовься к тактическим баталиям и ностальгии.

  20. Как я оптимизировал тормоза 1С на PostgreSQL с помощью pidstat

    Делюсь скриптом и лайфхаками, которые помогли нам понять, где именно «тормозит» база и 1С в реальной работе.

  21. Быстрый способ запускать задачи в cron с шагом 30 секунд

    Если не хочется возиться с systemd timers, вот простой хак для запуска скриптов в cron каждые 30 секунд. Быстро и понятно!

  22. Читаем файл построчно в Bash

    Забудь про бесконечные циклы для чтения файлов в Bash! Показываю, как работать с mapfile, зачем нужен строгий режим и как избежать типичных ошибок в скриптах.

  23. Визуальный сервис для разбора Bash/Shell команд

    Рассмотрим сервис в виде веб-сервиса, который помогает понять, что делает та или иная shell-команда в Unix/Linux. Проще говоря, ты вставляешь команду, а оно разбирает её и объясняет фрагмент за фрагментом, что означает каждая часть.

  24. Упоротые Bash/Shell однострочники

    Посылаем PING всем redis'ам в кластере и собираем PONG в ответ.

  25. Telnet для сетевых инженеров. Автоматизация и обход логина

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

  26. CRON в первый рабочий день месяца

    Сегодня будет обучать cron понимать рабочие и выходные дни. Из коробки этот функционал не работает, да и systemd тут не особо поможет. Так что, придется изобретать очередную кишку.