ch
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

前往频道在 Telegram

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

显示更多

📈 Telegram 频道 Bash Days | Linux | DevOps 的分析概览

频道 Bash Days | Linux | DevOps (@bashdays) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 23 810 名订阅者,在 技术与应用 类别中位列第 5 710,并在 俄罗斯 地区排名第 28 118

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 23 810 名订阅者。

根据 15 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -195,过去 24 小时变化为 -10,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 23.79%。内容发布后 24 小时内通常能获得 11.52% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 5 664 次浏览,首日通常累积 2 744 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 25
  • 主题关注点: 内容集中在 bashdays, linux, bash, docker, скрипт 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

凭借高频更新(最新数据采集于 16 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

23 810
订阅者
-1024 小时
-337
-19530
帖子存档
Если при слове ITSM у вас сразу всплывают бюрократия, отчёты и скучные таблицы — самое время пересмотреть подход. SRE-команды
Если при слове ITSM у вас сразу всплывают бюрократия, отчёты и скучные таблицы — самое время пересмотреть подход. SRE-команды, которые игнорируют ITSM, рано или поздно тонут в хаосе инцидентов, тикетов и бесконечных «костылей». На открытом уроке вы узнаете, как ITSM может стать вашим союзником, а не помехой: - Разберём, какие процессы реально помогают управлять инцидентами, изменениями и проблемами, а где стоит оставить место автоматизации. - Покажем, как ITSM-практики делают инфраструктуру предсказуемой и прозрачной, не превращаясь в бюрократию. - Вы поймёте, как выстроить процессы, которые работают на надёжность и скорость, а не мешают инженерам писать код. - Увидите, как навести порядок в SRE-команде без перегиба — с пользой для бизнеса и удовольствием для инженеров. 📌30 октября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «SRE практики и инструменты». Регистрируйтесь и узнайте, как превратить ITSM из формальности в реальный инструмент стабильности: https://vk.cc/cQIfOj Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Дожились блядь, схватил погремуху на LF. (скрином поделился: Антон Жданов) публикую с его разрешения и с разрешения участника
Дожились блядь, схватил погремуху на LF. (скрином поделился: Антон Жданов) публикую с его разрешения и с разрешения участника диалога. Так что все блядь прозрачно и согласовано!
- Каждому лектору в жопу по вектору - Лучше в жопу сунуть глобус чем у ЦУМА сеть в автобус - Если ты не голубой нарисуй вагон другой
Новый бренд чтоль мутитиль - Сёледка под Шубой? Ладно хули, рутина. Дела, люди всем двором на LF идут, устраивают челеджи, кто на какой задачке вперед сдохнет )) Всех с пятницей, хороших тебе предстоящих выходных, ну и по классике — береги себя! 🛠 #рабочиебудни 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

У меня Obsidian бекапится в git, естественно он торчит наружу жопой. Репа конечно же приватная, но чем черт не шутит. Каких-то критичных данных я в заметках не храню, ну спиздят и спиздят, пусть читают как на bash программировать. Мне не жалко. Но недавно понадобилось мне зашифровать некоторые заметки. Поизучал я различные варианты и остановился на плагине — Meld Encrypt. Плагин ставится через морду Obsidian одной кнопкой, ничего настраивать из коробки не нужно. Слева появляется иконка — New Encrypt Note, забиваешь туда пароль, подсказку. Создается исходный файл в формате mdenc, а не нативный mardown с расширением .md. Внутри исходного файла json`чик вида:
{
  "version": "2.0",
  "hint": "My Hint",
  "encodedData": "tH/epIAOSgeGQQtO7FTcM="
}
Что прикольно, ты можешь зашифровать не всю заметку, а только её часть либо критические данные в каком-нибудь пайплайне. Выделяешь эти данные и слева жмешь иконку — Ecrypt Selection. Теперь этот файл .mdenc заливает в git и не зная правильного пароля хуй кто прочтет твою заметку, даже если её спиздят. Аналогично с заметками где ты зашифровал часть данных. Шифрованная часть внутри заметки выглядит так:
🔐β 💡My Hint💡ls92E5jV+HlAfZMML== 🔐
Короче полет нормальный. Хер знает насколько сильный там энкрипт, но от лишних глаз эта штука защищает. В одном из issue в репе есть комментарий — «I have reviewed the code and noticed that it uses AES-GCM with a fixed IV and a password-derived key.» Ну и по коду могу сказать что работает примерно так: ⚪ Пользователь задаёт пароль для шифрования. ⚪ Ключ генерится на основе пароля, скорее всего это PBKDF2. ⚪ Шифрование проходит по схеме AES-GCM. Шифр AES, режим Galois/Counter Mode с поддержкой аутентификации (В коде есть тэг MAC). ⚪ Не уверен, но возможно используется фиксированный IV инициализационный вектор. Автор плагина походу сам не знает, что он написал. Поэтому подстраховался и добавил в ридми — «Use at Your Own Risk», мол идите нахуй, если вас подломят я тут не причем. Присмотрись, штука довольно полезная. В хозяйстве сгодится. 🛠 #encrypt #obsidian #utilites 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Вчера сижу, проверяю домашки. Приходит СМС, мол Роман спасибо, что совершили покупку, с вашего бонусного счета списано 2450 рублей. Я репу почесал и хуй забил. Потом появилась минутка, думаю — а пойдука я разберусь чё это было. Нашел отправителя смс, нашел компанию. Да, я там обслуживаюсь иногда. Но схуяли с меня списали баллы? Я там давно не был и ничего не покупал. Азарт взял своё. Первым делом написал в саппорт, меня по шаблону послали нахуй. Окей… Ну раз так, значит найдем директора и позвоним ему. Звонить не стал, чет зассал. Но написал в мессенджере. Описал ситуацию, скрины приложил. На той стороне солидный мужчина (по аватарке) знатно охуел, но ответил — Принято, свяжусь с вами позже. Часа через три, звонок — Зрасти, так и так, сотрудник компании спустя месяц после испытательного, получил доступы в базу клиентов и теперь активно списывает балы с клиентов, кто больше полугода не обращался в компанию. Списывает в свою пользу, то есть оплачивает баллами товары для себя любимого. Охуительный план! Надежный! Спустили на тормозах, поржали. Сотрудник был выкинут на улицу. Мораль — сначала изучи как работает система и только потом мути свои грязные схемки. Если тебе мало платят или обижают, нахуй ты там вообще работаешь? Человека банально уволили из-за автоматического СМС, которое прикрутил какой-то айтишник в рамках рутинного спринта. А мне просто вчера было скучно, в другой день я бы возможно даже не обратил на это внимание.
Кстати потом следом пошел и еще одну компанию разъебал, давно хотел, тоже впарили услугу, но услугу не предоставили. Сегодня уже возврат упал на карточку.
Как говориться — с миру по нитке. Не давай себя в обиду 😲 🛠 #рабочиебудни @bashdays @linuxfactory @blog

Хорошие девопсы копируют, великие — воруют Я тут чет ёба дал и решил потихоньку расковыривать Макса, пока только начинаю, но до кишочков тоже доберемся. Под это дело, я завел отдельный телеграм канал. В котором мы с тобой создадим канал в Максе, раскрутим его с минимальными вложениями и выйдем на доход > 200к рублей в месяц.
Звучит хуёва, знаю, может ничего и не получится. Но я постараюсь применить все свои знания в маркетинге и поделиться с тобой. Да и это бесплатно для тебя. План надежный, как швейцарские часы.
Все шаги буду подробно описывать, можешь повторять и глядишь сможешь выйти на пассивный доход. 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 😞😔😟😕🙁☹️😣😖 😫😩🥺😢😭😤😠😡
Кстати сегодня закинул пост про создание канала без наличия 10к подписчиков. Пока хак работает, так что не проебись.
Если интересно понаблюдать за движухой, подписывайся, вместе веселее. Там и комменты глядишь подключим и лося выебем. Подписаться: Макс на Максимум

Не придумывайте планы на субботу — Сбер уже всё организовал! 👌 25 октября встречаемся на IT Community Day в Санкт-Петербурге, чтобы обсудить влияние AI на IT-тренды и будущее разработки. Выбирайте свой трек: ✔️ AI — от генерации кода до мультиагентных систем. ✔️ Java — архитектура, производительность, масштабирование. ✔️ QA+AI — новые подходы и практики разработки. ✔️ Soft skills — карьера и развитие инженера в эпоху AI. Регистрируйтесь по ссылке, пока места ещё есть. До встречи 25 октября в 11:20 по адресу: ул. Уральская, д.1 (литера Ч)!

Имба — Mail Archiver. В двух словах: Агрегатор и бекапер всех твоих почтовых ящиков с удобным поиском. ㅤ Ставишь как self-hos
Имба — Mail Archiver. В двух словах: Агрегатор и бекапер всех твоих почтовых ящиков с удобным поиском. Ставишь как self-hosted, добавляешь любые учетки по IMAP (+ M365) и вся твоя почта бекапится на локальный NAS или S3. Фича — можешь зачистить всю почту на серверах и потом одной кнопкой из бекапа обратно восстановить все письма. Как вариант если закончилось место, но письма удалять жалко. Например, можно перелить почту из одного сервиса в другой в пару кликов. А главное — Бесплатно! Короче знатная штука, однозначно оставляю у себя в proxmox, да и движение селф-хостеров её прям зарекомендовали на фоне других подобных решений.
Можешь на ютубе глянуть, там обзорчики уже наснимали.
🛠 #utilites #backup @bashdays @linuxfactory @blog

В сентябре Selectel запустил OpenFix – программу для тех, кто хочет делать open source безопаснее, чище и надежнее. Там пул задач по рефакторингу на Rust, пакетизацию приложений, исправление багов с оплатой от 30 000 до 350 000 ₽. При этом – ПО распространяется по пермиссивной лицензии, мейнтейнером остается автор, а код — в свободном доступе. Проект получился живым и крутым – команда получила много заявок, более 8 больших задач уже в работе. Весь движ – на странице проекта. Следите за тем, как идет работа над задачами, делитесь своим мнением и ждите дроп новых активностей! Реклама, АО «Селектел», erid: 2VtzqwEKGLE

Вот не пойму, это оно мне жопу нарисовала или сиськи? Радоваться или плакать? Но похоже больше на жопу... ㅤ 🛠 #рабочиебудни
Вот не пойму, это оно мне жопу нарисовала или сиськи? Радоваться или плакать? Но похоже больше на жопу... 🛠 #рабочиебудни #мониторинг @bashdays @linuxfactory @blog

Сегодня поделюсь историей, которая началась плохо, но закончилась хорошо. 🔤🔤🔤🔤🔤🔤🔤 В общем, у меня домашний шлюз - mini PC на debian. А поскольку мощность для шлюза избыточна, приходится использовать ее не по прямому назначению. Поставил туда transmission-daemon, и рулю в консоли через transmission-remote. Сами понимаете, что каждый раз в консоли набирать transmission-remote да еще с ключами — кнопки сотрутся, поэтому пользуюсь алиасами. И вот сегодня я накосячил с алиасом настолько знатно, что bash упал и я покинул чат. И после этого не смог подключиться по ssh. Если бы я правил sshd_config, я бы, конечно, подключился двумя сессиями, и все восстановил. Кто ж знал, что правка .bashrc тоже опасна. Думал уже придется лезть на чердак, снимать миниписюк и править файлы локально, но все оказалось гораздо проще. Оказывается есть даже два способа, чтобы поправить ситуацию. 1. Выполнить ssh user@host -t /bin/sh Вместо /bin/sh можно указать любую оболочку (их примерный список можно глянуть в /etc/shells). Понятно, что оболочка должна быть установлена на удаленной машине. 2. Подключиться по sftp, скачать .bashrc, локально отредактировать и залить обратно. В общем, все сработало нормально. Алиас исправил. Все работает. А подключился бы, как положено, при правке важных файлов двумя ssh-сессиями. И не было бы этой статьи. Кстати, использование именно первого пункта позволяет обходить тривиальные защиты ssh (типа скриптовой двухфакторной аутентификации или использование sleepshell для пользователя, которому только разрешен проброс портов), основанные на простой замене оболочки пользователя в /etc/passwd. При выполнении скрипта, хакер уже аутентифицирован в системе, и может просто заменить оболочку. 🛠 #linux #ssh #fix @bashdays @linuxfactory @blog

Fedora Post Install Набрёл тут на Bash поделку CRIMS0NH4T. В двух словах — делает за тебя необходимую рутину после чистой установки Fedora. — Настройка DNF — Установка RMP Fusion — Установка кодеков — GPU драйвера (Intel, Nvidia, AMD) — Тюнинг производительности — Оптимизация Gnome Как я понял, версия прям ранняя альфа-альфа и активно допиливается автором. Я бы минимально запатчил так:
- set -u
+ set -euo pipefail
+ IFS=$'\n\t'

- readonly LOG_FILE="/tmp/crimsonhat_$(date +%Y%m%d_%H%M%S).log"
+ LOG_FILE="$(mktemp /tmp/crimsonhat.XXXXXX.log)"
+ readonly LOG_FILE

- run_with_progress() { local message="$1" shift log INFO "$message" if "$@" >/dev/null 2>&1; then return 0 else return 1 fi }
+ run_with_progress() {
+  local message="$1"; shift
+  log INFO "$message"
+  if "$@" >>"$LOG_FILE" 2>&1; then
+    return 0
+  else
+    return 1
+  fi
+}

- disk_type=$(lsblk -d -o name,rota | awk 'NR==2 {print $2}')
- primary_disk=$(lsblk -d -o name,rota | awk 'NR==2 {print $1}')
+ read -r primary_disk disk_type < <(lsblk -dn -o NAME,ROTA | head -n1)
...
- current_scheduler=$(cmd < "$scheduler_path" 2>/dev/null | grep -o '\[.*\]' | tr -d '[]')
+ current_scheduler=$(tr -d '\n' < "$scheduler_path" | sed -n 's/.*\[\(.*\)\].*/\1/p')
Хотя set -euo pipefail тут конечно спорный вариант, можно наступить на грабли.
pipefail заставляет конвейер возвращать ошибку, если любая команда в скрипте упала. Так что применив set -u автор обезопасил себя от неочевидных багов.
Как концепт, вполне можно форкнуть и подсмотреть какие-то штуки, возможно в своих поделках тебе что-то сгодится. 🛠 #linux #tweaks @bashdays @linuxfactory @blog

🎥 Вебинар по Kubernetes: "Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI-сервисом" ☝️ На вебинаре вы узнаете:
🎥 Вебинар по Kubernetes: "Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI-сервисом" ☝️ На вебинаре вы узнаете: - Как Kubernetes используется в качестве среды для доставки и масштабирования приложений. - Интеграция Kubernetes с GitLab CI, GitHub Actions и другими популярными CI/CD-сервисами. - Лучшие практики построения пайплайнов, работающих с k8s. - Деплой приложений в кластер: helm, kubectl, ArgoCD и другие инструменты. - Типичные ошибки при организации CI/CD в Kubernetes и как их избежать. 💪 В результате вебинара вы: - Поймёте, как связать Kubernetes с CI/CD и зачем это нужно. - Научитесь строить эффективные пайплайны доставки для микросервисных приложений. - Получите практические примеры конфигураций и инструментов, которые можно применить сразу после занятия. 🎁 Все участники вебинара получат специальные условия на полное обучение курса "Инфраструктурная платформа на основе Kubernetes" 👉 Для участия зарегистрируйтесь: https://vk.cc/cQnW2z Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Фиксим кривой Exit Code в docker Во время работы с docker контейнером наткнулся на неочевидный код выхода (exit code).
Про exit codes (коды выхода) писал тут
Суть проблемы: Когда программа внутри контейнера падает с abort(), Docker возвращает неправильный код выхода. Вместо ожидаемого 134 (128 + SIGABRT), контейнер отдаёт 139 (128 + SIGSEGV). То есть контейнер маскирует реальную причину падения приложения. Соответственно дальнейший дебаг не имеет смысла, потому что код выхода не соответствует действительности. Давай проверим:
#include <cstdlib>

int main() {
    std::abort();
    return 0;
}
Пишем Dockerfile:
FROM ubuntu:22.04

RUN apt-get update \
    && apt-get -y install \
        build-essential \
    && rm -rf /var/lib/apt/lists/*

COPY ./ /src/
WORKDIR /src/
RUN g++ main.cpp -o app

WORKDIR /
CMD ["/src/app"]
Собираем и запускаем:
docker build -f ./Dockerfile -t sigabort_test:latest .
docker run --name test sigabort_test:latest ; echo $?
А на выходе у нас код: 139. В примере выше код выхода — 139 = 128 + 11, где 11 соответствует SIGSEGV (ошибка сегментации), а не 134 = 128 + 6, что был бы SIGABRT (аварийное завершение). Чтобы это пофиксить, нужно захерачить хак:
CMD ["bash", "-c", "/src/app ; exit $(echo $?)"]
docker run --name test sigabort_test:latest ; echo $?
bash: line 1: 6 Aborted /src/app
134
После этого контейнер будет возвращать корректный код 134. Вариант рабочий, но костыльный. Правильнее использовать ключ --init. Если запустить контейнер с флагом --init, используя исходную команду CMD ["/src/app"], мы получим ожидаемый 134 код. Что нам и нужно.
docker run --init --name test sigabort_test:latest ; echo $?

134
Почему init все починил? Давай копнём глубже. В Linux процесс с PID 1 (init) имеет нестандартную семантику сигналов: - Если у PID 1 для сигнала стоит действие «по умолчанию» (никакого обработчика), то сигналы с действием terminate игнорируются ядром. Это сделано, чтобы случайным SIGTERM/SIGINT нельзя было «уронить» init. - PID 1 должен забирать зомби-процессы (делать wait() за умершими детьми). Если этого не делать, накопятся зомби. - PID 1 обычно пробрасывает сигналы дальше — тому «настоящему» приложению, которое оно запускает. Когда мы запускаем контейнер без --init, приложение становится PID 1.
Большинство обычных приложений (на C/C++/Go/Node/Java и т.д.) не написаны как «инит-системы», они не настраивают обработку всех сигналов, не занимаются «реапингом» детей и не пробрасывают сигналы. В результате вылазиют баги.
Наш сценарий с abort() (который поднимает SIGABRT) упирается именно в правила для PID 1. abort() внутри процесса поднимает SIGABRT. Для обычного процесса с PID ≠ 1 это приводит к завершению с кодом 128 + 6 = 134. Но если процесс — PID 1, ядро игнорирует «терминирующие» сигналы при действии по умолчанию. В результате стандартные ожидания вокруг SIGABRT ломаются. Ну а дальше вступают в силу детали реализации рантайма/сишной библиотеки, как именно контейнерный рантайм считывает статус. На практике это может приводить к тому, что ты видишь 139 (SIGSEGV) вместо ожидаемого 134 (SIGABRT). И тут проблема не в docker, а в том, что приложение неожиданно оказалось в роли init-процесса и попало под его особые правила. Вот и вся наука. Изучай. 🛠 #docker #devops #linux #debug @bashdays @linuxfactory @blog

📆DevOps-митап с докладами от Altenar и Флант — встречаемся в центре Питера и онлайн вечером 30 октября. Ребята из международ
📆DevOps-митап с докладами от Altenar и Флант — встречаемся в центре Питера и онлайн вечером 30 октября. Ребята из международного разработчика ПО Altenar расскажут, как устроена их гибридная инфраструктура и: • Сравнят три способа подружить секреты из Vault с Kubernetes, которые опробовали в продакшене, а также рассмотрят альтернативные подходы. • Поделятся, как построили и поддерживают секьюрити-пайплайн на базе SonarQube, Trivy Operator и DefectDojo силами одного инженера. А также представитель Фланта поделится не так часто освещаемым опытом: как подойти к процессу сборки и доставки приложений в закрытые Kubernetes-кластеры. 👉🏻Все что нужно — зарегистрироваться. 📍Участие бесплатное, число мест в зале ограничено. Все зарегистрировавшиеся получат ссылки на трансляции в день мероприятия.

Сколько линуксоида не корми, он все равно на винду поглядывает. Накопал я тут тебе WinBoat. Эта штука запускает Windows-прило
+2
Сколько линуксоида не корми, он все равно на винду поглядывает. Накопал я тут тебе WinBoat. Эта штука запускает Windows-приложения прямо в Linux с максимально «нативной» интеграцией: окна приложений — как обычные X/Wayland-окна, общий доступ к файлам и даже полноценный Windows-десктоп. Что в коробке - Запустит любое приложение, которое работает в Windows — в том числе коммерческие программы. Ради прикола запустил Excel, ну что сказать, минимум приседаний и танцев с бубном. Работает прям отлично. - Окна приложений интегрируются в рабочий стол Linux, не просто RDP в едином окне, а RemoteApp-композитинг. - Автоматические инсталляции через GUI — выбираешь параметры, остальное делает WinBoat. - Файловая интеграция, домашний каталог монтируется в винду. - Полный Windows-десктоп по запросу (если нужно работать внутри полноценной виртуальной машины). Что под капотом Это Electron-приложение + сопутствующий «guest server». Windows запускается как VM внутри контейнера Docker. А между хостом и гостем общаются через WinBoat Guest Server. Затем для прорисовки отдельных окон используется FreeRDP + Windows RemoteApp — это и даёт ложное ощущение нативности. Штука интересная возможно бы я ее использовал, если бы плотно сидел на линуксе. Так что приглядись, глядишь установишь в хозяйстве приживется. 🛠 #утилиты #utilites #linux @bashdays @linuxfactory @blog

Сейчас я тебе покажу как «пиздато» организовать избранное в телеге. У меня оно начиналось как «личное избранное», теперь это
Сейчас я тебе покажу как «пиздато» организовать избранное в телеге. У меня оно начиналось как «личное избранное», теперь это стало что-то вроде CRM внутри компании. Каждый сотрудник имеет к такой группе доступ и может закинуть туда что-то своё. Этакая база данных всяких полезных фич. Делается это банально. Создаешь приватную группу, включаешь в группе «топики», создаешь нужные топики. Всё! По необходимости добавляешь в группу людей, либо чисто используешь под свои цели. На скрине я создал тестовую группу, чтобы показать, как это визуально выглядит (реальную не стал закидывать, чтобы тебя не шокировать письками). В реалиях у нас эта группа имеет овер 20 топиков, для бухов, для креативщиков, для личных целей и многое другое. Кто-то посмотрел интересный фильм или увидел шортс который можно сконвертировать во что-то полезное — кидают это в топик.
Например, мемы для @devopsina по сути набираются регулярно в отдельный топик. Каждый день редактор забирает трендовые видосы, обрабатывает их, повышает качество, делает из шакальных - нормальные, генерит в своей голове какие-то айтишные подписи. GPT не используем.
У меня например там есть топик - Гитара, если натыкаюсь на что-то интересное, сохраняю туда. Потом когда появляется желание что-то изучить новое, иду в топик, выбираю что хочу поучить и развлекаюсь. Короче бери на заметку, эта штука у меня живет уже как 2-3 года. Первые год использовал в одну харю, а потом расшарил на сотрудников. Прижилось.
А еще в телеге есть чеклисты нативные и отдельный топик под это. Опять же когда надо что-то закупить, делаем общий чеклист и потом все это визуально видно, кто что закупил.
Такие дела. Попробуй мож зайдет и ты наведешь порядок в своем хаосе. 🛠 #рабочиебудни @bashdays @linuxfactory @blog

Много шума наделала метка A+. Как оказалось эта иконка очень страшная для «тревожных». А «страшная» она тем, что в интернетах нагнали жути, мол тотальная слежка, слив данных и т.п. Сейчас я тебе расскажу правду, что происходит. Яж всегда с тобой был честен. 1 ноября 2024 года в силу вступил закон, об обязательной регистрации блогеров, у которых > 10к подписчиков. Все блогеры были обязаны пойти в РКН и зарегистрировать свои каналы, группы, площадки. Отдав взамен свои номера телефонов, явки и пароли. Если этого не сделать, нельзя размещать партнерские посты, из таких каналов нельзя делать репосты. То есть если ты делаешь репост из такого канала, который не зарегистрирован в РКН — ты нарушаешь закон.
А сколько раз ты нарушил закон и репостнул из таких каналов мемчики?
Чтобы тебя за жопу не взяли, я сделал все как требуется, все по правилам. Теперь ты можешь репостить и делиться этим с коллегами. Обезопасил твою задницу. Под эту тему все мы пошли и зарегистрировались в РКН, да, еще в 2024 году. В описании каналов и групп ты мог видеть ссылку на сайт госуслуг, который это подтверждает. Но большинство на это не обратило внимания. Зря. Я к чему, почти год ты сидишь в таких каналах и с удовольствием поглощаешь контент. А как только увидел A+ — бежать! Ничего же не изменилось, все что нужно, про тебя и так все давно уже знают. К 2026 году 99% площадок будут ходить с этой меткой, чтобы следовать закону, чтобы была возможность размещать партнерские посты и как-то конвертировать полезный контент в хлеб с маслом. Так что не ссы, если хочешь быть в безопасности — отключи у себя интернет, выкинь телефон и завернись в фольгу. Ну и обязательно почитай матчасть как все это работает изнутри. Для тебя ничего не изменилось. А для меня изменилось, стало больше геморроя с отчетностью, с дополнительными налогами и т.п. Но так или иначе я продолжу делать своё дело и буду делать его хорошо. Поэтому не устраивай бои с тенью и не будь «тревожным». Если живешь правильно и прозрачно, никто за тобой следить не будет. Не руби с плеча, разберись и думай своей головой, а не головкой персонажа, который нагнал на тебя жути в каких-то пабликах. Как-то так. Мотай на ус. Всех обнял! 🛠 #рабочиебудни @bashdays @linuxfactory @blog

Здесь: я как-то поднимал проблему с торможением 1c на postgres. 🔤🔤🔥🔤🔤🔤🔤 Благодаря нашему коллеге @ovchinnikovmy, дело сдвинулось с мертвой точки. Спасибо ему большое за консультации и рекомендации по PG. Мы начали попытки оптимизировать работу postgres для нашей задачи. И сразу столкнулись с проблемой. Ну, оптимизировали. А насколько? Улучшение есть, а кто был виноват в тормозах PG или 1С? Все может прекрасно работать в тестах, и становится колом, когда идет интенсивная работа в нескольких базах одновременно. Где горлышко бутылки - число ядер, частота или скорость диска, или может пора памяти добавить? Там маленькая конторка. Фактически один сервак. Не будешь же zabbix ради этого ставить. Онлайн можно посмотреть через nmon, top/htop. nmon даже позволяет записывать данные в лог, и есть программа, которая позволяет генерить html с отчетами, но там все интегрально. По системе. А хочется по процессам. Остановился на пакете sysstat. Это такой консольный zabbix. Он позволяет собирать статистику по процессам. Анализировать можно память, проц, диск, стэк. Причем по каждому PID в отдельности и прямо в консоли. В общем, все, что нужно. Для большего удобства я набросал скрипт.
#!/bin/bash

# 20251005
# apt install sysstat gawk
# работа с 9 до 18, запись с 8:30 до 18:30
# запуск через cron
# 30 8 * * * /root/work/stat/stat.sh &

declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
declare -i INTERVAL_SEC=10
declare -i COUNT=3600 # итого 10 часов
declare -i WEEK_DAY;printf -v WEEK_DAY "%(%-u)T"
declare LOG="$0_${WEEK_DAY}.csv"

pidstat -r -l -d -H -h -U -u $INTERVAL_SEC $COUNT |
  gawk 'NR<4;$2=="usr1cv83"||$2=="postgres"{$1=strftime("%Y%m%d_%H%M%S",$1);print}'>"$LOG"
Он собирает статистику каждые 10 сек по двум пользователям postgres (PG) и usr1cv83 (1С) в csv-лог (разделитель пробел, но это можно исправить). Поскольку лог текстовый, дальше его можно вертеть с помощью awk/sort или просто в LibreOffice Calc. pidstat ключи: -r - память -l - командная строка процесса -d - диск -h - табличный режим -H - время unix -U - username -u - проц gawk ключи: NR<4 - заголовок (легенда) из трех строк $2=="usr1cv83"||$2=="postgres" - фильтрация по username $1=strftime("%Y%m%d_%H%M%S",$1) - удобный формат времени. LOG="$0_${WEEK_DAY}.csv" - Недельная ротация. По одному на день. 🛠 #debug #linux @bashdays @linuxfactory @blog

🎉 Результаты розыгрыша: 🏆 Победители: 1. Jull (@sun_jumper) 2. Алексей (@hapy_hex) 3. Александр (@khodzh97) ✔️Проверить результаты

Привет, очередная халява. Каждый год я отдаю 3 проходки-билета (скидка 100%) на онлайн-конференцию «Подлодка». Если есть желание посетить сие онлайн-мероприятие, кликай кнопку ниже. Через пару дней опубликуются результаты. Ну а дальше с вами свяжется я или Макс и раздадим ништяки. Такие дела! Условия розыгрыша: подписаться на канал @bashdays, @gitgate, @devopsina