uz
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali Bash Days | Linux | DevOps analitikasi

Bash Days | Linux | DevOps (@bashdays) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 23 741 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 571-o'rinni va Rossiya mintaqasida 27 919-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 23 741 obunachiga ega bo‘ldi.

30 Iyul, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 7 ga, so‘nggi 24 soatda esa 0 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 22.02% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 12.73% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 5 228 marta ko‘riladi; birinchi sutkada odatda 3 023 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 22 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent bashdays, linux, bash, docker, скрипт kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Yuqori yangilanish chastotasi (oxirgi ma’lumot 31 Iyul, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

23 741
Obunachilar
Ma'lumot yo'q24 soatlar
+547 kunlar
+730 kunlar
Postlar arxiv
📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена» Хотите автоматизировать деплой, управлять инфраструктурой
📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена» Хотите автоматизировать деплой, управлять инфраструктурой как кодом и выстраивать надёжные CI/CD процессы? Этот курс — полный путь DevOps-инженера. • CI/CD: Jenkins, GitLab CI/CD, GitHub Actions, стратегии развёртывания (Blue-Green, Canary), rollback • Контейнеризация: Docker (образы, Compose, networking), Podman, оптимизация и безопасность контейнеров • Kubernetes: архитектура, Pods, Services, Deployments, Helm, RBAC, Service Mesh (Istio/Linkerd) • Infrastructure as Code: Terraform, Ansible (playbooks, vault), Packer, ArgoCD и Flux для GitOps • Облака: AWS (EC2, EKS, Lambda), GCP, Azure, Yandex Cloud, cost optimization • Мониторинг: Prometheus, Grafana, ELK Stack, Jaeger, OpenTelemetry, SLI/SLO/SLA • Безопасность: SAST/DAST, Vault, Zero Trust, Policy as Code, incident response • Продакшен практики: High Availability, Disaster Recovery, Chaos Engineering, on-call management 🎓 Сертификат — добавьте в резюме или LinkedIn 🚀 Скидка 25%, действует 48 часов 👉 Пройти курс на Stepik Реклама. Крупчатников М. С., ИНН: 344412054704, Erid: 2VtzqwTg7CC

Туалетная бумага по cron’у Я короче каждый месяц заказываю на WB туалетную бумагу, сразу беру 32 рулона. В чатике ссылки как-то скидывал на этот товар. И в сентябре меня эта рутина — заебала! Основная проблема — я забываю вовремя пополнять запасы. И после всех туалетных процедур приходится сидеть и ждать несколько часов пока мой бэкенд подсохнет и остатки артефактов сами отвалятся.
Решено было накидать Bash скрипт, который каждый месяц будет заказывать на WB радость для моей жопы.
Открытой API у WB нет, но реверс-инженерию никто не отменял. Открываем в браузере режим разработчика, натыкиваем нужные действия на сайте и потом смотрим вкладку Network. Выбираем нужные запросы и рожаем скрипт. Концепт скрипта: 1. Авторизация. С ней я не стал заморачиваться, авторизовался на сайте, выгрузил кукисы в файл. Полюбому можно и это автоматизировать через curl, но чёт пока лень. 2. Скрипт принимает единственный параметр $1, это ссылка на товар WB, мало ли бумага моя закончится и придется другого поставщика искать. 3. Дальше curl подгружает кукисы из файла, и делает несколько запросов к сайту, добавляет бумагу в корзину и оформляет заказ. Пример добавления в корзину:
RESPONSE=$(curl -s "https://cart-storage-api.wildberries.ru/api/basket/sync?ts=$TS&device_id=$DEVICE_ID" \
  -X POST \
  -H 'content-type: application/json' \
  -H 'origin: https://www.wildberries.ru' \
  -b "$COOKIES_FILE" \
  --data-raw "$JSON_PAYLOAD"
)
Все параметры прилетают из $JSON_PAYLOAD, параметр автоматически заполняются нужными данными на основе переданного урла в $1, да, активно используется jq. Говнокод конечно лютый получился, но работает. А это главное в нашем деле! 4. Ну и всё, в телегу мне приходит уведомление, что заказ оформлен, бабло спишут по факту. Ну и пишут примерное число доставки. 5. Как только товар пришел в пункт выдачи, получаю уведомление в телегу. Аналогично curl запросом проверяется статус в личном кабинете. 6. Закидываем скрипт в крон и забываем про эту рутину.
59 23 25 * * /usr/local/sbin/shit_paper.sh https://wb.ru/296/detail.aspx
Вот и вся наука. Теперь когда я возвращаюсь из гаража, захожу по пути в пункт выдачи и забираю свои 32 рулона. Удобно? Да охуенно!
Думал мож еще курьера прикрутить, но сроки доставки могут увеличиться, да и этот бедолага начнет мне звонить, согласовывать все, тут бы AI прикрутить, да ну его. И так большое дело сделано, жопка рада.
Еще бы научить чтобы чайник сам в себя воду наливал, было бы вообще ништяк. Давай, увидимся! Хороших тебе предстоящих выходных и береги себя! 🛠 #bash #devops 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

🔥 Из DevOps в SRE: следующий уровень инженерного мышления На курсе ты научишься управлять надежностью, доступностью и эффект
🔥 Из DevOps в SRE: следующий уровень инженерного мышления На курсе ты научишься управлять надежностью, доступностью и эффективностью сервисов, улучшать наблюдаемость системы и реагировать на инциденты. 🔍 Пройди короткий тест по SRE, который поможет тебе определить текущий уровень, спланировать развитие и занять место на продвинутом курсе «SRE практики и инструменты» от OTUS. ➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cRiTKY Успей воспользоваться 🏷10% скидкой на курс! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Вопрос с LF, думаю всем полезно будет. Пишу пайплайн, есть такая конструкция:
platform=$(uname -m)
docker run --platform linux/arm64
Я бы хотел, чтобы параметр --platform linux/arm64 подставлял в том случае, если архитектура платформы == arm64, в других случаях этот параметр подставлять не нужно. Делаю так, но получается какая-то хуйня:
platform=$(uname -m)
docker run ${platform/arm64/--platform linux/arm64}
Короче смотри. Задачку можно решить несколькими способами. Способ 1. Заточен под Bash:
platform=$(uname -m)
docker run $([[ $platform = arm64 ]] && echo "--platform linux/arm64")
Этот способ не сработает, если код запустится в /bin/sh, потому что оно не POSIX. Тут уже смотри под чем все это будет запускаться.
Тут можешь почитать чем отличаются [[ ]] от [] А тут что такое POSIX
Способ 2. Универсальный:
platform=$(uname -m)
docker run $( [ "$platform" = "arm64" ] && echo "--platform linux/arm64" )
На 100 % POSIX-совместим. По функционалу эти способы идентичны. Ну и по итогу имеем: [[ ... ]] — это расширенная bash-версия, безопаснее и гибче (поддержка pattern, безопасность кавычек при пробелах и пустых строках, поддежка логики с &&) [ ... ] — POSIX-совместимая, более строгая и требующая аккуратности с кавычками. Ну и твои варианты приветствуются, поделись в комментах, глядишь что-то маст-хевное у тебя в загашнике есть. 🛠 #bash #pipeline 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Linux под угрозой? Повысьте защищенность конечных устройств с помощью новой технологии Universal Linux Kernel Module от «Лаборатории Касперского»

Linux под угрозой? Повысьте защищенность конечных устройств с помощью новой технологии Universal Linux Kernel Module от «Лаборатории Касперского»

HRы и еже с ними, ловите головастого DevOps отличника и LF выпускника.
Такие мероприятия я провожу редко, но хороших кадров грех не порекомендовать.
Резюмирую Мужчина в полном рассвете сил (26 лет), хочет на удаленку. Есть большое желание развиваться дальше, делать вещи и пилить охуительные инфраструктурные циркули. Не пиздит и не завышает опыт, а это уже ценно! Шарит за: - докеры, пайплайны, ансиблы, кубы, графики и т.п. - спец по информационной безопасности (PT SEIM), - автоматизация на bash, python Короче базовый набор маст-хев практик из коробки. Нанимаешь и он работает, без лишних вопросов и хуйни. А твои сервера начинают тарахтеть быстрее и стабильнее. Подробное резюме запрашивай в личке: @avs_jr_07 Чтобы все подряд ему не писали, ЗП хочет от 180к, за такой опыт, вполне справедливо! 🛠 #кандидаты #кадры 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Опять потерял заявку? Не ты один Когда в компании появляются десятки или сотни запросов: на оборудование, доступы, оплату или
Опять потерял заявку? Не ты один Когда в компании появляются десятки или сотни запросов: на оборудование, доступы, оплату или закупку — без системы они начинают теряться. Кажется, что все под контролем, но на деле у каждого отдела складываются разные процессы: кто-то пишет в личку, некоторые отмечают в табличке, а кто-то “давай голосом”. 12 ноября в 17:00 пройдет вебинар «Как упорядочить работу со входящим потоком задач». Покажут, как один раз настроить все процессы в Яндекс Трекере и больше никогда не искать, куда пропала заявка. Расскажут, почему важно вести всё через Трекер, как документировать процессы в Вики, автоматизировать назначение ответственных и какие фишки автоматизации используют сами в Яндексе. Ведут вебинар руководитель продуктового направления Трекера Данил Майорский и архитектор решений и амбассадор Трекера Татьяна Родина. Полезно всем, кто регулярно в работе использует таск-менеджеры: IT-руководителям, администраторам, HR, AХО и тем, у кого входящих задач больше, чем часов в сутках. Регистрируйся по ссылке. #workflow #автоматизация #трекер

Борьба за производительность В продолжение истории борьбы за производительность. 🔤🔤🔤🔤🔤🔤🔤🔤 Допустим у нас есть что-то, что обладает каким-то неприличным количеством ядер, например 16. И нам надо разбалансировать эти ядра между разными «типами» нагрузки. Причем мы точно знаем, сколько ядер нам надо для одного типа и точно не знаем, сколько нужно для всего остального. Тут на помощь приходят 4 параметра ядра - isolcpus, nohz_full, rcu_nocbs и irqaffinity. В рамках решаемого кейса сразу указал на них, что сократило поиск необходимых решений. По сути, все 4 параметра решают одну задачу - ограничить использование указанных ядер (например 0-3) процессами, за исключением базовых - init, scsi и прочих. Таким образом мы можем через тот же taskset указать вручную на ядра 0-3 те процессы, что нам нужны. В данной картине мы защищаем этот сегмент от службы irqbalance, которая с завидным упорством будет ребалансировать процессы между ядрами. Но будьте внимательны при изоляции, так как в случае количества процессоров > 1 нужно чуть иначе выставлять диапазоны, чтобы не угодить в яму NUMA. Там деление ядер от 0 до последнего происходит сегментами по очереди. Конкретно мой случай изоляции был применен в рамках разделения нагрузки на сетевые прерывания и nginx, но в совокупности факторов - параметры ядра, отключенный + маскированный irqbalance, taskset и еще несколько твиков - давало профит только при утилизации сетевой карты лишь до 70%, дальше спецэффекты постепенно возвращались. 🛠 #cpu #core #taskset #nice #perfomance 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Когда прод падает — счёт идёт на минуты. Что отличает зрелую инженерную команду от хаотичной? Не количество алертов, а умение
Когда прод падает — счёт идёт на минуты. Что отличает зрелую инженерную команду от хаотичной? Не количество алертов, а умение действовать спокойно и системно. 📌17 ноября в 20:00 МСК на открытом уроке разберём, как превратить борьбу со сбоями в управляемый процесс: – выстроить реакцию на инциденты, чтобы команда действовала быстро и без паники; – использовать метрики и сигналы, чтобы замечать проблемы раньше пользователей; – проводить ретроспективы и улучшать стабильность на основе реальных данных. Вы получите подходы, которые можно применить уже завтра. Вебинар проходит в преддверии старта курса «SRE практики и инструменты». Регистрируйтесь и перестаньте тушить пожары: https://vk.cc/cRcEFN Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Да ты издеваешься?! Неа… Встречай — Terraform для Bare Metal! Раньше это работало так: После того, как я выполнял terraform apply, где-то в дата-центре, специально обученный мальчик шёл ножками, читал мой yaml манифест, плакал, собирал руками железный сервер и передавал мне в работу. Сейчас этот процесс полностью автоматизирован, а мальчику больше не нужно плакать и читать мой yaml говнокод. На досуге я накидал для тебя техно-пост, как это работает. С командами, нюансами и картинками. Поехали → https://slc.tl/o1kzp Рекомендую ознакомиться, даже для общего кругозора. Чтобы ты никогда не забывал, что автоматизировать можно — Всё! Всё это уже работает на инфре Selectel, пробуйте Реклама АО «Селектел», erid: 2VtzqwMNKqi

CPU AFFINITY
По просьбе коллеги @dox89.
🔤🔤🔤🔤🔤🔤🔤 Предыдущие статьи по настройке производительности Здесь и Здесь: В современных системах число ядер только растет. И запущенный процесс гуляет по ядрам, как разочаровавшаяся в любви девушка. Таким образом планировщик системы пытается балансировать нагрузку, ресурсы (и тепловыделение). Но это поведение можно изменить. С помощью программы можно taskset можно запускать процессы на указанных ядрах. Например:
taskset --cpu-list 0-2,6 thunderbird
Запустит thunderbird, и разрешит почтовому клиенту работать только на указанных ядрах. Фактически taskset не разрешает работать на указанных ядрах, а запрещает работать на всех остальных, потому что по умолчанию любому процессу можно работать на всех ядрах. Если использовать ключик -p PID, то аналогичную процедуру можно выполнить с уже запущенным процессом. Современные процессоры имеют гибридную архитектуру. Т.е. они содержат и энергоэффективные и производительные ядра. Так вот, с помощью этой команды можно немного оптимизировать производительность - ограничивая второстепенным приложениям доступ к высокопроизводительным ядрам. Ну, или для всей «шушеры» выделить пару ядер, освободив остальные для самых важных процессов. Но если Вам лень этим заниматься - знайте, что планировщик и так неплохо справляется. Единственное, чего он не знает - какие процессы для Вас более важные. Но ему всегда об этом можно напомнить, с помощью команды nice. Ну, и напоследок - вредный совет. Однажды у моего коллеги на работе эффективные менеджеры ввели KPI. Деньги начали платить по проделанной, а не стабильной работе. После этого у всех, включая бухгалтерию в конце квартала все начинало тормозить Но не сразу, а как-то плавно, но заметно. И приходилось проводить сложную многочасовую оптимизацию систем (оптимизация дисков, переиндексирование, очистка кэшей...). После которой все до конца следующего отчетного периода работало нормально. А потом - о5-25. Но как они этого добивались - я не знаю :-) man taskset man nice 🛠 #cpu #core #taskset #nice #perfomance 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Здесь я рассказал, как просто управлять производительностью сервера с помощью governors. 🔤🔤🔤🔤🔤🔤🔤 Но есть еще один способ: Прямое управление частотой. Дело в том, что governor задает только скорость нарастания и убывания частоты, в зависимости от нагрузки. Сами частоты заданы в файлах: /sys/devices/system/cpu/cpu0/cpufreq/ scaling_min_freq scaling_cur_freq scaling_max_freq Но и пределы частоты тоже можно менять. Правда на некоторых процессорах их нельзя менять произвольно, их список может быть жестко задан. Обычно список допустимых частот описан в файле /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies (это для нулевого ядра) У меня на ноуте, например, 1350000 1200000 1000000 Посмотреть частоты можно здесь: cpuinfo_min_freq - минимальная частота ядра cpuinfo_cur_freq - текущая cpuinfo_max_freq - максимальная 👆 Надеюсь, всем понятно, что разогнать проц данным способом не получится. Таким образом, командой типа: cp cpuinfo_max_freq scaling_min_freq Любой governor превращается в performance. Пути к файлам я опустил, и на всякий случай напомню, что частоты задаются для каждого ядра отдельно. Кстати, повышать частоты требуется не всегда. Приведу пример: У меня работает роутер на мини-PC. Если использовать его только как роутер - нагрузка максимум 5%. Я поставил туда торрент-качалку. А она может загрузить проц, даже если использовать nice. Но я задал минимальную частоту в качестве максимальной: cp cpuinfo_min_freq scaling_max_freq Теперь мини-PC холодный, даже если прикидывается сервером и работает на 100% (В полку). Код для установки максимальной производительности получается несколько проще, чем с governor:
#!/bin/bash
declare -a KEEP_MINFREQ
declare DIR_PREFIX=/sys/devices/system/cpu
declare -i NPROC=$(nproc) # число ядер (процессоров)

# Keep current setting
I=NPROC
while ((I--));do
  KEEP_MINFREQ[$I]=$(cat "$DIR_PREFIX/cpu${I}/cpufreq/scaling_min_freq")
done

# Set 
I=NPROC
while ((I--));do
  # Поднимаем минимальную частоту до максимума
  cp "$DIR_PREFIX/cpu${I}/cpufreq/cpuinfo_max_freq" "$DIR_PREFIX/cpu${I}/cpufreq/scaling_min_freq"
done

#Здесь ВАШ код

sleep 10

##############

# Restore settings
I=NPROC
while ((I--));do
  echo "${KEEP_MINFREQ[$I]}">"$DIR_PREFIX/cpu${I}/cpufreq/scaling_min_freq"
done
Всем стабильных серваков! 🛠 #cpu #performance #frequency #governor 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Если увлекаешься технологиями, не пропусти True Tech Champ 21 ноября — масштабный ИТ-фест от МТС 🔥 В программе: 📝 доклады о
Если увлекаешься технологиями, не пропусти True Tech Champ 21 ноября — масштабный ИТ-фест от МТС 🔥 В программе: 📝 доклады о технологиях будущего от экспертов в ИИ, включая руководителя фундаментальных исследований MWS AI Валентина Малых и ведущего RnD-разработчика MWS и аспиранта ISR Lab и Skoltech Артема Лыкова; 🛻 шоу-битва роботов со спецэффектами и сюжетной линией; 📝 воркшоп по работе с ИИ-агентами от канадского разработчика и автора книги AI Agents in Action Майкла Ланэма, кодинг-практикум с MWS AI и интеллектуальный спарринг с искусственным интеллектом; ◻️ 20+ площадок с активностями: IT-Родео, робофайтинг, лазерный лабиринт и многое другое. 🔴 А в завершение дня — афтепати со звездным хедлайнером. Фестиваль бесплатный, пройдет 21 ноября в Москве и онлайн. Смотри подробную программу на сайте и регистрируйся — количество мест ограничено.

Хотелось бы поговорить о гувернантках, но будем обсуждать губернаторов. (governors). 🔤🔤🔤🔤🔤🔤🔤 Сейчас практически везде идет борьба за экологию, поэтому производители пытаются делать процы «зелеными». Есть нагрузка - частоту поднимают, нет нагрузки - частоту снижают и сразу падает тепловыделение и энергопотребление. Так вот, управляют частотой/производительностью/энергопотреблением специальные алгоритмы, которые называются governors. Чтобы было проще выбирать, их наштамповали несколько видов: performance — максимальная производительность (Ну, почти максимальная) powersave — максимальное энергосбережение ondemand — быстрое изменение частоты от нагрузки conservative — медленное изменение частоты от нагрузки schedutil — интеграция с планировщиком ядра Linux К сожалению не все губеры доступны для вашей системы. Список доступных можно посмотреть так:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
Вот, у меня на ноуте доступны только два: performance schedutil Используемый в настоящее время:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Обратите внимание, governor задается для каждого ядра отдельно. Ну, и для чего это нужно. Иногда бывают процелюбивые задачи. (кодирование видео и аудио, конверсия фоток, многопоточная компрессия, шифрование...) И пофигу на электроэнергию и тепловыделение, лишь бы быстрее закончилась. Тогда можно на время выполнения задачи изменить governor. Делается это простым скриптом:
#!/bin/bash
declare -a KEEP_GOVERNOR
declare DIR_PREFIX=/sys/devices/system/cpu
declare SET_GOVERNOR='performance'
declare -i NPROC=$(nproc) # число ядер (процессоров)
declare -i PRESENT=0

#Проверка поддержки governor системой
for G in $(cat "$DIR_PREFIX/cpu0/cpufreq/scaling_available_governors");do
  if [[ "$SET_GOVERNOR" == "$G" ]];then
    PRESENT=1
    break
  fi
done

if !((PRESENT));then
  echo GOVERNOR $SET_GOVERNOR not supported.
  printf "Available governors : "
  cat "$DIR_PREFIX/cpu0/cpufreq/scaling_available_governors"
  exit 1
fi

# Keep current setting
I=NPROC
while ((I--));do
  KEEP_GOVERNOR[$I]=$(cat "$DIR_PREFIX/cpu${I}/cpufreq/scaling_governor")
done

# Set (Для установки требуются привилегии)
I=NPROC
while ((I--));do
  echo "$SET_GOVERNOR">"$DIR_PREFIX/cpu${I}/cpufreq/scaling_governor"
done

#Здесь ВАШ код

sleep 10

##############

# Restore settings
I=NPROC
while ((I--));do
  echo "${KEEP_GOVERNOR[$I]}">"$DIR_PREFIX/cpu${I}/cpufreq/scaling_governor"
done
Если все делать в ручном режиме. Поменять governor для всех ядер можно командой:
sudo echo performance| sudo tee /sys/devices/system/cpu/cpu${0..1}/cpufreq/scaling_governor
здесь performance - задаваемый governor {0..1} - описание числа процессоров (ядер). Для шестнадцати {0..15}. Такая установка проживет до перезагрузки. Если требуется постоянные настройки - можно поставить в cron @reboot, прописать в grub или воспользоваться специальными утилитами. Продолжение следует. 🛠 #cpu #performance #frequency #governor 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

🎥 Вебинар по Linux: PostgreSQL без простоев: создаём отказоустойчивый кластер на Patroni и etcd 👉 На вебинаре вы узнаете: -
🎥 Вебинар по Linux: PostgreSQL без простоев: создаём отказоустойчивый кластер на Patroni и etcd 👉 На вебинаре вы узнаете: -Что такое Patroni и как он обеспечивает высокую доступность PostgreSQL. -Как etcd используется для хранения конфигурации и координации работы узлов. -Как настроить репликацию, failover и проверку состояния кластера. -Как мониторить и тестировать отказоустойчивость PostgreSQL-кластера на практике. 💪 В результате вебинара вы: -Научитесь разворачивать кластер PostgreSQL с Patroni и etcd. -Поймёте архитектуру высокой доступности и роль каждого компонента. -Сможете настроить автоматическое переключение master/replica при сбоях. -Получите практическое понимание принципов отказоустойчивости баз данных 🎁 Все участники вебинара получат специальные условия на полное обучение курса "Инфраструктура высоконагруженных систем" 👉 Для участия зарегистрируйтесь: https://vk.cc/cR10u2 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Профессиональная деформация Каждый раз когда вижу урл вида:
https://bashdays.ru/?p=4893
Невольно тянется рука поставить в конце символ ' и посмотреть что будет. Башкой понимаю, что в современном мире такое сработает 1 раз на 100кк, но ничего поделать с собой не могу. Когда видишь потенциальную дырку — нужно попробовать вставить. А какая у тебя деформация? Поделись своим скелетом в комментах 😲
Кстати LF подорожал, кто не успел или кого выперло, заходите, раздам 10 промокодов по 1000 рубасов.
🛠 #трудовыебудни 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

18 ноября в Москве пройдёт Deckhouse User Community meetup #3 В программе три доклада, открытая дискуссия, пицца, пенное и не
18 ноября в Москве пройдёт Deckhouse User Community meetup #3 В программе три доклада, открытая дискуссия, пицца, пенное и нетворк. Спикеры «Фланта» покажут, как: — использовать Open Source-виртуализацию Deckhouse в домашних условиях; — управлять «зоопарком» K8s-операторов через Managed-Services; — оптимизировано ядро хранения данных в Deckhouse Prom++ для высокой производительности при низком потреблении памяти. Киллер-фича: весь митап будет работать зона DIY-зона с развёрнутым кластером под управлением Deckhouse Kubernetes Platform CE. Можно протестировать платформу своими руками и задать вопросы разработчикам. Регистрируйтесь, места ограничены.

Как «сократить» расходы Несколько лет я занимался планированием годового бюджета на айти сервисы и различные технические развлекухи. И каждый раз пытался максимально закрутить гайки. Выкинуть нахуй сервисы, которые жрут бабки, но вроде бы не нужны особо. Можно отказаться, да у себя часть поднять. С одной стороны делал полезную работу, с другой стороны всегда было ощущение — а нахуя я этим занимаюсь? Зачем я это делаю, это понятно, а вот нахуя я пытаюсь сократить расходы — непонятно. Деньги то всёравно не мои. Если я сокращу расходы, моя ЗП не вырастит. Ну да ладно. Пост про другое. Как бы ты не менял поставщиков гандонов, пока ты не придумаешь как выращивать эти гандоны в своём огороде — нихрена не поменяется. Допустим ты придумал и начал выращивать гандоны в своём огороде.
Хотя их можно и не выращивать, позови 10 человек на собес и 9 из них будут гандонами. Неплохо? Ага!
Блядь, всё отвлекаюсь. Короче выращиваешь ты гандоны и сэкономил 1000 баксов. Охуенно? Охуенно! Но в итоге ты получаешь — саппорт этого огородика, решение технических проблем, отбивка тикетов от орущих сучек и т.п. Но зато сэкономил 1000 баксов компании. Видишь где наебалово? Знаю, видишь… Теперь у тебя часть команды поддерживает производство гандонов, тратит на это время, в какой-то момент задачи из спринта перестают запиливаться вовремя. Ага, нужно нанять еще людей, нанимают человека за 1000 баксов в месяц. Теперь всё в порядке. Отдельный человек решает все вопросы с производством гандонов, а задачи в спринте вновь запиливаются вовремя. Людей хватает. Сэкономили, молодцы. Только вот эта сэкономленная тыща баксов идет на ЗП новому сотруднику + компания платит за сотрудника налоги, пенсионные и т.п. сборы в казну. 1000 баксов превращается в 1500 баксов. Заебись сэкономили! Ну вот и я про тоже. А как сокращать расходы-то? Если ты мелкий стартап, то никак, поменьше пиздежа, побольше работы. Закупай готовые гандоны от производителя и не пытайся их производить сам. Смысла в этом нет. Сосредоточься на своём продукте. Но если у тебя 100500 компаний и они связаны между собой, то вполне разумно поднять свою гандонную фабрику, нанять человека за 1000 баксов, чтобы он следил за производством и поставлял продукцию в твои 100500 компаний. Чё еще сказать. Если что-то делаешь, подумай — а нахуя я это делаю? Сейчас да, разумно поднимать свои гандонные фабрики и свои сервисы, но это разумно лишь в текущих реалиях, когда загнивающие дрочепаки обложили нас санкциями. Всё, иду я нахуй дальше диван продавливать. Удачи! 🛠 #трудовыебудни 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Ха! Сегодня будем тыкать палкой «Крокодила». Croc — это кроссплатформенный CLI-тор. С помощью этой штуки можно передавать файлы/каталоги между устройствами. Без айпи, хуйни и лишнего гемора. Работает по принципу «отправь, введи код, получи по ебалу». Установка под всё:
curl https://getcroc.schollz.com | bash
brew install croc
scoop install croc
choco install croc
winget install schollz.croc
Начнем! Я буду передавать файлы c Linux сервера на свою виндовую машину. На Linux сервере запускаю:
cd /tmp && echo "Hello BashDays" >> bashdays.txt
croc send bashdays.txt
Получаем:
Sending 'bashdays.txt' (15 B)
Code is: 2811-spray-cabinet

On the other computer run:
(For Windows)
    croc 2811-spray-cabinet
(For Linux/macOS)
    CROC_SECRET="2811-spray-cabinet" croc
Так, идем на Windows машину и запускаем:
croc 2811-spray-cabinet
То есть берем «секретную строку» и передаем её получателю. Получатель запускает команду выше и видит:
C:\Users\user>croc 2811-spray-cabinet
Accept 'bashdays.txt' (15 B)? (Y/n) Y

Receiving (<-92.52.131.227:10350)
bashdays.txt 100% |████████████████████| (15/15 B, 73 B/s)
А на Linux машине:
Sending (->92.52.131.227:9015)
bashdays.txt 100% |████████████████████| (15/15 B, 41 kB/s)
Вуаля! Проверяем файл на винде, всё прекрасно передалось! «Крокодил» не требует VPN, SSH, SCP, FTP, использует end-to-end шифрование (AES-256), работает между любыми ОС. Фича — можно передать каталог, не архивируя его. Ну и как self-hosted воткнуть, чтобы уж совсем не параноить, как истеричка.
Да, есть прикол, что при получении ты вводишь «секретный код» и он отпечатается в истории команд, это хуйня. Поэтому просто запускаем croc и оно в интерактиве запросит код, вводишь код и дело в шляпе. В историю команд ничего не попало. А если автокоды тебе в хуй не уперлись, можешь через ключик -code впендюрить свой код доступа. Всё гибко, покури репку и описание, там прям можно на многое повлиять, вплоть до создания своего relay.
Под капотом P2P протокол через relay-сервер — работает даже если устройства за NAT.
На Andoid кстати тоже порт есть в F-Droid.
🛠 #utilites #tools #selfhosting 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog