es
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Ir al canal en Telegram

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

Mostrar más

📈 Análisis del canal de Telegram Bash Days | Linux | DevOps

El canal Bash Days | Linux | DevOps (@bashdays) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 23 741 suscriptores, ocupando la posición 5 571 en la categoría Tecnologías y Aplicaciones y el puesto 27 919 en la región Rusia.

📊 Métricas de audiencia y dinámica

Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 23 741 suscriptores.

Según los últimos datos del 30 julio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 7, y en las últimas 24 horas de 0, conservando un alto alcance.

  • Estado de verificación: No verificado
  • Tasa de interacción (ER): El promedio de interacción de la audiencia es 22.02%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 12.73% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 5 228 visualizaciones. En el primer día suele acumular 3 023 visualizaciones.
  • Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 22.
  • Intereses temáticos: El contenido se centra en temas clave como bashdays, linux, bash, docker, скрипт.

📝 Descripción y política de contenido

El autor describe el recurso como un espacio para expresar opiniones subjetivas:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 31 julio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.

23 741
Suscriptores
Sin datos24 horas
+547 días
+730 días
Archivo de publicaciones
📘 На 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