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 806 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 5 710-o'rinni va Rossiya mintaqasida 28 118-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

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

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

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 23.79% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 11.52% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 5 664 marta ko‘riladi; birinchi sutkada odatda 2 744 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 25 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 16 Iyun, 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 806
Obunachilar
-1024 soatlar
-337 kunlar
-19530 kunlar
Postlar arxiv
Рубрика "упоротые однострочники". 🔤🔤🔥🔤🔤🔤🔤🔤🔤 Как послать PING всем серверам кластера редиса и не умереть от скуки
for nodeport in $(echo "CLUSTER NODES" | nc redis.example 6900 | awk '$1~/^[0-9a-z].*$/ {sub("@"," "); print $2}'); do IFS=":" read -r node port <<< $nodeport; echo -n "$nodeport: "; echo "PING" | nc $node $port; done
Первым делом мы шлём в известный нам сервер кластера redis команду CLUSTER NODES.
echo "CLUSTER NODES" | nc redis.example 6900
Референс команды cluster nodes. Пример выхлопа
shell$5256
07c37dfeb235213a872192d90877d0cd55635b91 127.0.0.1:30004@31004,hostname4 slave e7d1eecce10fd6bb5eb35b9f99a514335d9ba9ca 0 1426238317239 4 connected
67ed2db8d677e59ec4a4cefb06858cf2a1a89fa1 127.0.0.1:30002@31002,hostname2 master - 0 1426238316232 2 connected 5461-10922
292f8b365bb7edb5e285caf0b7e6ddc7265d2f4f 127.0.0.1:30003@31003,hostname3 master - 0 1426238318243 3 connected 10923-16383
6ec23923021cf3ffec47632106199cb7f496ce01 127.0.0.1:30005@31005,hostname5 slave 67ed2db8d677e59ec4a4cefb06858cf2a1a89fa1 0 1426238316232 5 connected
824fe116063bc5fcf9f4ffd895bc17aee7731ac3 127.0.0.1:30006@31006,hostname6 slave 292f8b365bb7edb5e285caf0b7e6ddc7265d2f4f 0 1426238317741 6 connected
e7d1eecce10fd6bb5eb35b9f99a514335d9ba9ca 127.0.0.1:30001@31001,hostname1 myself,master - 0 0 1 connected 0-5460
Дальше мы парсим выхлоп awk-шкой, так как нам нужны чисто IP и порт
awk '$1~/^[0-9a-z].*$/ {sub("@"," "); print $2}')
$1~/^[0-9a-z].*$/ - берём строчки, которые начинаются с циферкобуковок {sub("@"," "); print $2} - режем дополнительно по символу собаки, выводим 2ю колонку. Получаем:
127.0.0.1:30004
127.0.0.1:30002
127.0.0.1:30003
127.0.0.1:30005
127.0.0.1:30006
127.0.0.1:30001
Ура, у нас есть список редисок с портами. Всё это заворачиваем в for:
for nodeport in $(echo "CLUSTER NODES" | nc redis.example 6900 | awk '$1~/^[0-9a-z].*$/ {sub("@"," "); print $2}'); do ...; done
И кайф, осталось порезать по двоеточию в разные переменные хост и порт, и, вооружившись netcat-ом, сделать PING. Режем строку по двоеточию на 2 переменных
IFS=":" read -r node port <<< $nodeport;
Итого у нас получается следующее:
nodeport=127.0.0.1:30004
node=127.0.0.1
port=30004
Выводим себе для удобства чтения результата хост редиса и порт куда стучимся:
echo -n "$nodeport: "
И netcat-ом шлём команду PING уже на ноду.
echo "PING" | nc $node $port
Получаем на выходе:
127.0.0.1:30004: +PONG
127.0.0.1:30002: +PONG
127.0.0.1:30003: +PONG
127.0.0.1:30005: +PONG
127.0.0.1:30006: +PONG
127.0.0.1:30001: +PONG
🛠 #балансбатл #людипишут @bashdays @linuxfactory @blog

🚀 Автоматизация деплоя приложений без боли и хаоса Хотите, чтобы обновления в вашем приложении попадали в кластер автоматиче
🚀 Автоматизация деплоя приложений без боли и хаоса Хотите, чтобы обновления в вашем приложении попадали в кластер автоматически, а конфигурации всегда были согласованы? Приходите на вебинар по GitOps и Argo CD. Разберём: 🔹 Что такое GitOps и как ArgoCD работает как «оператор доставки» 🔹 Как пошагово настроить деплой из Git-репозитория в Kubernetes 🔹 Как создать Application CRD и отслеживать процесс в веб-интерфейсе Кому будет полезно: DevOps, GitOps-инженерам, администраторам, разработчикам, SRE. 📈 После вебинара вы сможете: Разворачивать Argo CD в Kubernetes Автоматизировать доставку из Git Управлять мультикластерными средами и контролировать дрейф конфигураций 💡 Меньше ручных действий — больше стабильности! Регистрируйтесь сейчас и получите скидку на обучение: https://vk.cc/cONyhn Дата: 26 августа в 20:00 Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Поделюсь своим решением, как я организовал бэкапы баз 1С. Основное требование к решению (за исключением работоспособности) - использование штатного ПО, которое уже есть в репозитории/ничего дополнительно не устанавливать. Имитация закрытого контура. 🔤🔤🔥🔤🔤🔤🔤🔤🔤 Итак, условия: windows server на котором работает 1с и на нем же PostgreSQL и некое файловое хранилище, к которому есть доступ исключительно по ftp. Из утилит, которыми можно решать задачу, под рукой оказалась rsync. Бэкап базы 1С будем делать штатной программой от 1С. Однозначного мнения нет, чем лучше бэкапить - средствами СУБД или этой программой, есть у каждого варианта свои преимущества и недостатки. В нашем варианте используем именно ПО от 1С. Чтобы делать это с помощью планировщика, делаем простой .bat для windows сервера, имя файла отражает дату его создания.
set datetemp=%date:~-10%`

"C:\Program Files\1cv8\8.3.24.1819\bin\ibcmd.exe" infobase dump --db-server=localhost --dbms=PostgreSQL  --db-name=название_бд --db-user=имя_пользователя_бд --db-pwd=пароль_пользователя_бд --user=имя_пользователя_в_1С --password=пароль_пользователя_1С "C:\путь_для_бэкапа\имя_файла_"%datetemp%".dt"
Бэкапы базы сохраняются локально. Теперь надо их оттуда забрать и бережно перенести на файловое хранилище. Для этих целей хорошо подойдет rsync. Поднимать сервер rsync не хотелось, поэтому пошел по пути набора команд. Формат будущей команды выглядит так:
rsync -av ~/bases_1s/bgu ~/backup/
Rsync (ключа а = в архивном режиме, его обычно достаточно для целей бэкапа, ключ v добавит подробностей) скопирует папку bgu из ~/bases_1s и положит их в ~/backup/. Обращайте внимание на слэши в конце пути - играют роль в вопросе перенести папку целиком или же ее содержимое, без создания одноименной папки в точке назначения. Все хорошо, но rsync работает, если хотя бы один путь локальный, а у нас два удаленных хоста. Выход есть. Примонтируем папку с бэкапами по SMB. Строка в /etc/fstab выглядит у меня так:
//192.168.0.2/название_папки_на_сервере_win /home/user/bases_1s cifs credentials=/home/user/.smbcreds,noauto,users,iocharset=utf8,uid=500,gid=500 0 0
В .smbcreds лежит логин с паролем пользователя windows сервера, noauto=не монтировать при запуске. Далее, возникла засада в виде того, что если доступ есть по ftp, то rsync бессилен, ftp - протокол и rsync тоже протокол и надо выбрать. В этой ситуации поможет замечательная curlftpfs. Утилита позволяет монтировать удаленные ftp папки в локальную файловую систему. Установим ее и добавим своего пользователя в группу fuse (чтобы работать без повышения привилегий):
apt-get install curlftpfs
usermod -aG fuse имя_пользователя.
Создаем файлик с кредами, создаем папку куда будем монтировать и подключаемся (все от своего пользователя):
echo 'machine 192.168.0.18
login фтп_юзер
password пароль' > .netrc
Кроме работы rsync есть еще реализация резервного копирования посредством cp. Оставил пока как есть, в планах единообразить и прикрутить отчет о выполнении.
На данном этапе скрипт выглядит примерно так, смотри в первом комментарии к этому посту, одним кадром не влез.
Стоит еще пояснить о ключе --temp-dir=/tmp/rs в команде rsync. Он нужен чтобы обойти ограничение "ftp файловой системы", которая не поддерживает создание временных файлов. 🛠 #балансбатл #людипишут @bashdays @linuxfactory @blog

🚀⚙️ Хотите упростить свою работу в Linux? Научитесь писать скрипты с помощью Bash! 👉 Присоединяйтесь к открытому вебинару 2
🚀⚙️ Хотите упростить свою работу в Linux? Научитесь писать скрипты с помощью Bash! 👉 Присоединяйтесь к открытому вебинару 25 августа в 20:00 МСК и разберитесь, как с помощью Bash автоматизировать рутинные задачи в Linux. Мы объясним, как работать с интерпретатором Bash, создавать переменные, использовать условия и циклы. 💪 Этот вебинар поможет быстро освоить базовые навыки Bash и научиться автоматизировать простые операции, что значительно упростит рабочий процесс. 🎁 Запишитесь на вебинар и получите индивидуальное предложение на курс «Administrator Linux. Basic». 👉 Для участия зарегистрируйтесь: https://vk.cc/cOMhJS Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Из каждого чайника слышу про ZED, это такой новомодный IDE от авторов Atom. Славится своей скоростью и минимализмом, никаких тебе новогодних ёлок и перегруженных интерфейсов. Чем-то напоминает VIM. Дошли руки потыкать. Но одного желания мало, под винду сука дистрибутив не завезли. Хочешь под винду? Скомпилируй из исходников! 😀😃😄😁😅😂🤣😊 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 Да легко! Спустя 4 часа ебатни и дебага — спасибо, идите нахуй!
Если официальный мануал по компиляции писала жопорукая обезьяна, тут уже ничего с этим не поделаешь.
Залил в себя пару пиалок до-хун-пао, словил дзен и нашел выход. Пиздуем на сайт и ищем ZED. Ебала жаба гадюку! Всё уже придумано и собрано за нас. Верните мне 4 часа компиляции! Открываем CMD и хуячим:
scoop bucket add extras
scoop install extras/zed
Всё! Если не установлен scoop, ставим так:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
Что по IDE? Моё почтение, все нужные мне плагины по девопсовым делам — есть. Даже маркдаун и превью работает. Шикарно! Из коробки есть подключение к удаленным серверам. То есть подключаешься к своему удаленному серверу разработки и пишешь код. В лучших традициях VSCode. Чтобы по умолчанию в качестве терминала у тебя не открывался CMD, делаем финт ушами и дружим ZED с WSL.
  "terminal": {
    "shell": {
      "program": "C:\\Windows\\System32\\wsl.exe"
    },
    "font_family": "Hack Nerd Font Mono",
    "font_size": 15,
    "line_height": "standard"
  }
Теперь открывается ZSH, или что там у тебя установлено в WSL.
Ааа, забыл, в ZED можно подключить ИИ агенты, причем можешь локально поднять дипсик или т.п. и использовать его прям в IDE.
Больше добавить пока нечего, всё нравится. Буду тыкать, а там уже посмотрим. 🛠 #windows #ide #dev @bashdays @linuxfactory @blog

Обсуждаем бэкапы и аварийное восстановление 🔐 вместе с Cloud․ru на вебинаре 26 августа В программе вебинара: ➡️ что такое ре
Обсуждаем бэкапы и аварийное восстановление 🔐 вместе с Cloud․ru на вебинаре 26 августа В программе вебинара:
➡️ что такое резервное копирование и аварийное восстановление; ➡️ в чем между ними разница и когда они нужны; ➡️ как использовать облако для непрерывности данных; ➡️ как еще можно защитить вашу информацию.
А еще в прямом эфире эксперты проведут демо: настроят резервное копирование и аварийное восстановление в облаке. Зарегистрироваться 👈

Как-то давненько пришлось мне отлаживать большущую APIху, но под рукой была только консолька. Ни о каком GUI и речь не шла. А
Как-то давненько пришлось мне отлаживать большущую APIху, но под рукой была только консолька. Ни о каком GUI и речь не шла. А пулять запросы через curl я заебался. Тем более хотелось что-то организованное и визуально приятное. Postman сразу мимо, это гавно сделали настолько перегруженным, что им пользоваться уже нереально, да и под чистым терминалом его не запустишь. Выбор пал на Posting. Это TUI клиент со всем необходимым функционалом. Так он и прижился, сейчас если что-то нужно отладить или потестить у меня есть эта замечательная тулза. Не перегружена хуйнёй и дружелюбная. Есть все самое необходимое, даже мышкой можно тыкать. Ну и сессии сохраняет со всеми запросами. Ставится элементарно:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv tool install --python 3.13 posting
uv — это современный инструмент для Python, который объединяет в себе функционал менеджера пакетов и виртуальных окружений, задумывается как замена pip + venv/virtualenv + pip-tools.
Для хакерменов прям мастхев. Забирай в копилку, годнота! 🛠 #linux #utilites @bashdays @linuxfactory @blog

😭Устали находить в продакшене критические уязвимости слишком поздно? На открытом уроке «От идеи до воплощения – как обезвред
😭Устали находить в продакшене критические уязвимости слишком поздно? На открытом уроке «От идеи до воплощения – как обезвредить программный код?» мы покажем, как встроить сканеры SAST, SCA и DAST прямо в пайплайн CI/CD. Вы увидите живую демонстрацию настройки и запуска инструментов, которые автоматически выявляют уязвимости ещё на этапе сборки. Представьте, что каждая сборка проходит чек-лист безопасности без ручных проверок, а вы уверены в надёжности выпускаемого кода. 🔥Встречаемся 21 августа в 20:00 МСК, зарегистрируйтесь и получите скидку на большое обучение «Внедрение и работа в DevSecOps»: https://vk.cc/cOJqkG Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Хотел бы предложить пост о деградации батареи в Linux. 🔤🔤🔥🔤🔤🔤🔤🔤🔤🔤🔤🔤🔤 Оригинал статьи написал для своего блога и хотел бы поделиться с интересующейся Linux-ом аудиторией 👇 https://alchemmist.xyz/ru/articles/battery-degradation/ 🛠 #балансбатл #людипишут @bashdays @linuxfactory @blog

🔥 Прожарка резюме от Василия Озерова: что действительно важно DevOps-инженеру Рекрутер может передать ваше резюме дальше — н
🔥 Прожарка резюме от Василия Озерова: что действительно важно DevOps-инженеру Рекрутер может передать ваше резюме дальше — но решение принимать будет нанимающий инженер. И он смотрит совсем на другое: сложность задач, уровень ответственности, глубину технического опыта, а не «знание Kubernetes». 📅 3 сентября в 18:30 мск приглашаем на вебинар с Василием Озеровым — DevOps-инженером, сооснователем Rebrain и нанимающим специалистом с 12+ годами опыта. Что будет: - живой разбор резюме участников — джун, мидл, синьор - что вызывает доверие, а что — сомнения при найме инженером - как презентовать опыт и стек, чтобы сразу было видно ваш уровень - матрица компетенций DevOps: разберём, как её использовать для роста и подготовки резюме 🎁 Бонусы за регистрацию: - гайд с матрицей компетенций DevOps - плейлист по поиску работы Хотите, чтобы ваше резюме разобрали в прямом эфире? 👉 Ждем на эфире 3 сентября в 18:30 по МСК: жмите скорее и участвуйте Реклама. ООО "РЕБРЕИН", ИНН: 7727409582, erid: 2W5zFHqUBQk

Безумству храбрых поём мы песню Ну чё, принёс я тебе «остров с сокровищами». ㅤ На карте наш подписчик рандомом разбросал 100
Безумству храбрых поём мы песню Ну чё, принёс я тебе «остров с сокровищами». На карте наш подписчик рандомом разбросал 100 кодов. Каждый код ты можешь обменять на 500 настоящих рублей. Все коды установлены на поверхности для простоты поисков.
Дополнительно установлены 10 кодов на два бесплатных месяца обучения в Linux Factory.
Поиск кодов это не основное, можно банально встретиться 1x1 и набить друг другу ебальник. Ну или просто почилить, отгрохать себе подземную базу или построить личный дата-центр. Если будут лаги и т.п. пиши сюда @linuxfactorybot, бум разбираться. Я нашел код, что дальше? 1. Делаешь скрин кода и координат XYZ (нажать F3) 2. Скидываешь эту инфу Максу 3. Забираешь приз Что бы не было соблазна схитрить, предприняты меры, все ходы записаны, так что будь честен.
Учти, что за тобой будут охотиться специально обученные боты-вжопуебаки.
Как начать? Качаешь клиент отсюда или берешь официальный. Версия сервера 1.21.8 Подключаешься к mc.bashdays.ru и погружаешься в приключения. Регистрация
/reg <пароль> <пароль>
/log <пароль>
Время работы сервера: c 05:00 МСК до 19:00 МСК 😀😃😄😁😅😂🤣😊 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 Что дальше? А дальше посмотрим, если сервак переживет эту неделю и не будет уничтожен письками, то таблички с промокодами будут пополняться каждую неделю. Ну и время работы сервера будет увеличено. А по пятницам можно сходки устраивать, голосовой чатик замутить, пиво, все дела. На этом пока всё. Хорошей тебе рабочей недели. 🛠 #островсокровищ @bashdays @linuxfactory @blog

🎮 Как насчёт начать кодить с нуля? «Школа 21» от Сбера — это бесплатная школа цифровых технологий. Здесь ты соберёшь портфол
🎮 Как насчёт начать кодить с нуля? «Школа 21» от Сбера — это бесплатная школа цифровых технологий. Здесь ты соберёшь портфолио и получишь востребованную профессию в ИТ Всё это — совершенно бесплатно. Без лекций, преподавателей и ограничений. Только практика и нетворкинг. 📌 Что еще? — кампусы, которые работают 24/7 в Москве, Уфе, Казани, Новосибирске, Белгороде, Липецке, Нижнем Новгороде и других городах России. — возможность совмещать с работой или учебой в вузе. — сюда поступают независимо от образования: 50% участников пришли без опыта в ИТ. — гарантированная стажировка в ИТ-компании. — востребованные профессии: разработчик, devops/sre-инженер, data scientist, qa-инженер, специалист по кибербезопасности, бизнес- и системный аналитик. 🎯 Не упускай возможность — подавай заявку прямо сейчас: https://21-school.ru/ Реклама. Заказчик АНО «Школа 21» ИНН 7736316133

Бесплатный онлифанс
begin 644 bashdays.txt
MT)_1@-"XT++0M=&"+"#1@="ZT+[0N]&,T+K0OB#0L=&#T+30M=&"(#$P,"\P
M+C4L(-"]T+#0O]"XT8C0N"#0OM&"T++0M=&"(-"R(-"ZT+[0O-"\T+70O=&"
MT+#1@-"XT8_1A2#0NB#0O]"^T8'1@M&#(-"X(-"RT+[0M]"\T+[0MM"]T+X@
IT8$@T8+0OM"QT+[0N2#1@="RT8_0MM"UT8+1@=&/(-"<T+#0NM&!+@H`
`
end
😀😃😄😁😅😂🤣😊 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 🛠 #xfiles @bashdays @linuxfactory @blog

ну я его без мультистейджа собирал и сжатие дополнительно использовал

Kubernetes, который не бесит В мире managed Kubernetes обычно происходит одно из двух: либо вам подсовывают урезанный сервис с кучей ограничений, либо предлагают «гибкость», которая на деле означает «разбирайтесь сами». Timeweb Cloud пошел третьим путем, – создал собственную платформу управления Kubernetes на k0s. Теперь не нужны танцы с бубном самостоятельной установкой и настройкой всех компонентов Kubernetes. Вот что получилось: под капотом — чистый контроль без сюрпризов. Виртуалки под control plane вместо абстракций, работающий etcd с прозрачными метриками и поддержка всего, что может понадобиться (от простых подов до сложных CSI-драйверов и GPU-ворклоадов). При этом кластеры собираются за пять минут, сами обновляются и чинятся, а если что — можно забрать свои данные и уйти без замков. Главное — это не просто «голый» k0s, а продуманный managed-сервис с полноценным cloud-native стеком: CNI, S3, маркетплейс аддонов, GPU под AI. Можно интегрировать DBaaS в свою приватную сеть, чтобы обеспечить изолированное взаимодействие между кластером и базой данных. Управление kubectl/k9s/Lens/Dashboard. Автоматизация — Terraform/API/CLI. Для тех, кто реально нагружает кластеры, это один из немногих вариантов, где managed не значит «кастрированный». Штука еще в том, что есть зарубежные локации. Сервис развернут в четырех дата-центрах — в Москве, Санкт-Петербурге, Амстердаме и Франкфурте. Запустить кластер tags: #Kubernetes #DevOps #k0s Реклама. ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525, Erid: 2VtzqwDsqN1

Как я проебал 4 часа из-за кавычки Балансбатл заебал, теперь пишу Я, одним дублем, на ошибки не триггеритесь 🥳
Самое главное в ходе дебага, не выйти на самого себя.
Да всё просто. После блокировок появилось много тикетов от клиентов, в которых говорилось - хочу GPT чат ёпта и чтобы блядь как раньше, нажал кнопочку и пошел работать. Да, без GPT уже никто не работает, деградировали все сука в зеленые сопли. Тут даже не «вайб-кодинг», а прям массовая истерия и осмысленный слив корпоративных данных. Нужно проверить договор? Так этож его читать нужно, нахуй надо, заливаем в GPT, а он пусть анализирует риски и неточности. Ну и всё в таком духе. 😀😃😄😁😅😂🤣😊 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒/ Левой дрочу, правой жопу щекочу! Короче спрос есть, тем более я умею настраивать openconnect да и сам им пользуюсь в личных целях. Хуль, пошел настраивать на серваки клиентов, настроил, пытаюсь подключиться с локальной машины. ХУЙ ТАМ ПЛАВАЛ! Сервер нотфаунд. Пробую курлы, телнеты, меняю порты — ничего! Ладно, думаю у клиента сервак с плохим айпишником, пошел настраивать другому клиенту. Такая же история. Хм… уже закономерность какая-то. Иду к третьему клиенту, переношу полностью образ своего сервера на его сервер. Ну теперь 100% заработает! Ага, история повторяется… Сервер нотфаунд. Ну не может же такого быть. У меня с моим сервером все работает, а с клиентскими не работает. Даж не курлит и не телнетит ничего. Однако. Как говорится:
Лох этот тот, кто пытается понять что вокруг происходит, хотя все кругом уже это понимают.
Утро вечера мудренее. Если что-то не получается, нужно это дело отложить и вернуться к нему позже. Так и сделал. На утро вернулся и подумал иначе. А что если проблема — во мне? Нужно проверить эту гипотезу. Беру ноут для созвонов, ставлю openconnect клиента и без проблем подключаюсь ко всем 3м серверам которые вчера настраивал. Хм… иду за комп на котором все вчера настраивал — сервер нотфаунд. Да ёбтавоюмать! Это как в nginx с редиректами, ебешься 5 часов, а потом понимаешь что дело не в nginx, а в твоём браузере. Оно закешировало запросы и похуй ему, редиректит по умолчанию, даже если меняешь конфиг nginx. Что было? 😀😃😄😁😅😂🤣😊 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 Антивирус блядь! Какой не скажу, а то опять придут люди из 90х и начнут в меня письками тыкать и угрожать. Мыж с вами достаточно медийные, обсирать никого нельзя. В антивирусе есть галка — Блокировать нерекомендуемые сайты. Методом подбора эта галка была определена, она и блочила все мои попытки подключения. Это даже не фаервол, фаервол я отключал, когда настраивал openconnect. Всегда фаер отключаю когда работы подобного плана делаю. Это чисто хуйня, которая блядь неочевидно скрыта в другом разделе. И до сих пор непонятно, почему айпишники моих серверов это рекомендуемые, а айпишники клиентов это не рекомендуемые. Так и живем. Один лишний пробел, одна не поставленная запятая, забытый таб, вполне может уничтожить твой день. Но опять же опыт. Теперь при настройке подобного гавна, буду иметь это ввиду. Но это не точно. Я люблю по 5 раз наступать на грабли. Говорят на ошибках учатся, но это не про меня. Век живи, век учись! 🛠 #рабочиебудни @bashdays @linuxfactory @blog

Если в каком-то скрипте лень заморачиваться с логами, можно воспользоваться утилитой systemd-cat. Она отправляет логи прямиком в journald. 🔤🔤🔥🔤 🔤🔤🔤🔤🔤🔤 Например:
echo "Successful backup" | systemd-cat -t my-backup
Просмотреть логи можно по тегу:
journalctl -t my-backup
Можно указать приоритет сообщения текстом или числом, как в syslog:
echo "Шеф, усё пропало!" | systemd-cat -t my-backup -p 1
А можно и префиксом в начале сообщения (число в угловых скобках):
echo "<1>Шеф, усё пропало!" | systemd-cat -t my-backup
В случаях отправки через pipe в journald попадет только то, что вывелось в stdout. Для логирования stderr можно либо отправить stderr в stdout, либо запускать команду как аргумент systemd-cat:
ls non-exists 2>&1 | systemd-cat -t my-log
systemd-cat -t my-log ls non-exists
Во втором случае можно задать отдельный приоритет для сообщений из stderr: --stderr-priority. 😀😃😄😁😅😂🤣 😇🙂🙃😉😌😍🥰 😗😙😚😋😛😝😜 🤨🧐🤓😎🤩🥳😏 🛠 #балансбатл @bashdays @linuxfactory @blog

Главные по контейнеризации в России приглашают на второй митап Deckhouse User Community. 21 августа | Москва Приходите, если
Главные по контейнеризации в России приглашают на второй митап Deckhouse User Community. 21 августа | Москва Приходите, если работаете с Kubernetes или планируете начать. Разберём три практических кейса: → как DKP управляет узлами кластера — от создания до вывода из кластера; → как построить платформу обучения на Community Edition быстрее ванильного Kubernetes; → как автоматизировать контроль архитектуры с помощью фитнес-функций. Будет полезно инженерам эксплуатации, платформенным разработчикам и всем, кто хочет прокачать навыки работы с современными подходами в DevOps. Только офлайн. Пицца и нетворкинг в программе. Регистрируйтесь!

Делал это для автоматического выполнения разных команд на сетевом оборудовании и парсинга по разным критериям. 🔤🔤🔥🔤🔤🔤🔤🔤 🔤🔤 Подключение к telnet c аутентификацией
def respond_to_telnet_commands(sock, data):
    """Отвечает на IAC-команды, отправляя WONT на все DO и DONT на все WILL."""
    i = 0
    while i < len(data):
        if data[i] == 0xff and i + 2 < len(data):  # IAC
            command, option = data[i + 1], data[i + 2]
            if command == 0xfd:  # DO
                sock.send(bytes([0xff, 0xfc, option]))  # WONT
            elif command == 0xfb:  # WILL
                sock.send(bytes([0xff, 0xfe, option]))  # DONT
            i += 3
        else:
            i += 1
respond_to_telnet_commands - функция понадобится только если в ответе от сервера получаем такое b"\xff\xfb%\xff\xfb&\xff\xfd\x18\xff\xfd \xff\xfd#\xff\xfd'\xff\xfd$". Если же в конце этой кишки будет login то всё ок можно сразу отправлять логин sock.send(b'login\r\n') Подключение через ipython:
import socket
sock = socket.socket()
sock.connect(('192.168.1.100', 5000))
data = sock.recv(1024)
print(data)
respond_to_telnet_commands(sock, data)
data = sock.recv(1024)
print(data)
respond_to_telnet_commands(sock, data)
data = sock.recv(1024)
print(data)
sock.send(b'<login>\r\n')
data = sock.recv(1024)
print(data)
sock.send(b'<pass>\r\n')
data = sock.recv(1024)
print(data)
sock.send(b'<command>\r\n')
data = sock.recv(1024)
print(data.decode())
Подключение к telnet без аутентификации В /etc/inetd.conf добавить:
5000 stream tcp nowait root /usr/local/bin/telnet_noauth 
telnet_noauth - 5000 можно заменить на любой порт или написать просто telnet будет использоваться для подключения порт 23 <service_name>: имя службы (например, telnet), соответствует записи в /etc/services. <socket_type>: обычно stream (для TCP) или dgram (для UDP). <protocol>: протокол, например, tcp или udp. <wait/nowait>: wait (ждёт завершения процесса) или nowait (многопоточный). <user>: пользователь, от имени которого запускается служба (например, root). <server_program>: путь к исполняемому файлу службы (например, /usr/sbin/in.telnetd). <server_args>: аргументы для программы (обычно имя программы). Добавить скрипт telnet_noauth с содержимым:
#!/bin/bash                                                           

/bin/bash -i
Дать права на исполнения:
chmod +x /usr/local/bin/**telnet_noauth**
Подключение через ipython:
import socket
sock = socket.socket()
sock.connect(('192.168.1.100', 5000))
data = sock.recv(1024)
print(data)
sock.send(b'<command>\r\n')
data = sock.recv(1024)
print(data.decode())
Такие дела! 🛠 #балансбатл @bashdays @linuxfactory @blog

Переворачивайте календарь вашего аутлука и бронируйте 3-е сентября 📆 Под IT-конференцию GoCloud Tech! В этом году команда Cl
Переворачивайте календарь вашего аутлука и бронируйте 3-е сентября 📆 Под IT-конференцию GoCloud Tech! В этом году команда Cloud․ru снова собирает DevOps, SRE, разработчиков, архитекторов, дата-сайентистов, техлидов, чтобы вместе обсудить работу с облаками и AI. Будут четыре трека:
🤖 AI&ML — узнаете, как устроены RAG-системы и мультиагентные системы и как начать их использовать. ☁️ Cloud Infrastructure — нюансы сетевой архитектуры, проектирование IaaS‑кластеров на K8s, возможности балансировщиков и производительность SDN. 📈 Data&Analytics — про современные подходы к Big Data: тренды, интеграцию с AI-агентами и инструменты для хранения, обработки и анализа. ⚙️ Dev Platform Services — заглянем «под капот» решений, чтобы облегчить повседневную рутину разработки и настройки сервисов.
А еще вас ждут демо, воркшопы, карьерные консультации, кастомный мерч и яркое afterparty. Не пропустите🖱