Bash Days | Linux | DevOps
Авторский блог от действующего девопса Самобытно про разработку, 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 738 suscriptores, ocupando la posición 5 559 en la categoría Tecnologías y Aplicaciones y el puesto 27 925 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 738 suscriptores.
Según los últimos datos del 01 agosto, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 2, y en las últimas 24 horas de -5, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 21.76%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 12.80% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 5 165 visualizaciones. En el primer día suele acumular 3 037 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 23.
- 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 02 agosto, 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.
GIT LFS. Дословно — Large File Storage (дохуя большое файловой хранилище).
У LFS уже свои лимиты в отличие от нативного git репозитория. И это LFS включен из коробки в гитлабах/гитхаба/битбакетах. Там уже размер файла может быть 1 гигабайт или что-то вроде того.
В gitea тоже можно LFS через конфиг включить:
[server]
LFS_START_SERVER = true
LFS_ALLOW_PURE_SSH = true
[lfs]
PATH = /home/gitea/data/lfs
Как этим пользоваться?
Ставим к себе на машину:
apt-get install git-lfs
brew install git-lfs
Переходим в свой гит репозиторий и инициализируем:
cd /home/user/linuxfactory/infra
git lfs install
В папке /infra/roles/node_exporter/files у меня лежит бинарник node_exporter который весит 100 мегабайт
На самом деле я хуй знает сколько он весит, это для примера.
Помечаем его:
cd /infra/roles/node_exporter/files
git lfs track "node_exporter"
После этого в папке files появится файл .gitattributes. Это правила для этого файла, которые указывают чтобы node_exporter улетал в LFS.
Внутри этот файл выглядит так:
node_exporter filter=lfs diff=lfs merge=lfs -text
И по итогу бинарник в репе станет ссылкой на настоящий бинарник в LFS.
А еще можно вайлдкардами трекать:
git lfs track "*.jpg"
Ну а дальше, как обычно:
git add .
git commit -m "add lfs for node_exporter"
git push
Всё! Теперь твой большой файл аккуратно лежит в LFS, а в самом гит репозитории осталась лишь ссылка которая на этот файл ссылается.
Мне тут пришлось партнерских постов на эту неделю понабрать, реинвестируем в развитие @gitgate, так что рекомендую включить баннерную слепоту и сильно не триггериться. Спасибо за понимание!
Чтиво: про LFS можешь глянуть еще тут и тут.
tags: #git #devops
—
🔔 @bashdays➡️ @gitgate1. Bombardier 2. StressПервая (Bombardier) отлично подходит для генерации паразитного http трафика.
bombardier -c 125 -n 10000000 http://localhost:8080
Вторая (Stress) можно нагрузить ядра процессора и позырить чо будет. Ну или над жестким диском надругаться или памятью.
stress --cpu 4
stress --hdd 100
stress --cpu 4 --vm 2 --io 1 --timeout 20
Ну а чтобы протестировать no space left on device просто генерим большой файлик удобным тебе способом.
Установка элементарная:
apt install bombardier stress
Эти утилиты отлично подходят для тестирования разнообразных алертилок, к примеру alertmanager. Нагнал синтетических данных, получил соплю в графане, алертилка тригернулась и накричала в чатик. Отладил, задеплоил.
Красота и удобно! Для этих дел есть еще всякие wrk, ab, hey и т.п. но с ними как-то у меня не сложилось.
Такие дела, бери на вооружение, мож сгодится в хозяйстве.
tags: #utilites #highload #qa
—
🔔 @bashdays➡️ @gitgateЕсли ты студент, можешь хорошо выебнуться своей длинной писькой перед преподами. И может тебя по телеку покажут, как когда-то создателя «BolgenOS» или антивируса Бабушкина.➡️ Исходники тут / Демка тут ps: А есть еще такой проект: mysh tags: #utilites — 🔔 @bashdays➡️ @gitgate
Не знаю, писал ли я вторую часть, но если найду, закину!tags: #рабочиебудни #memories — 🔔 @bashdays➡️ @gitgate
local0.* @log.bashdays.com:514
И тут как раз частый вопрос - чо за символ «собаки» перед названием сервера?
Магии тут нет, символ «@» означает протокол передачи UDP.
Надеюсь ты знаешь, что UDP не гарантирует доставку. Если сеть перегружена или приходят «сетевые ножницы», пакет может — проебаться.
ㅤ
Чтобы этого избежать, логичнее использовать TCP, в rsyslog это делается через двойную собаку.
local0.* @@log.bashdays.com:514
По итогу получаешь:
- Подтверждение доставки (сервер подтверждает приём данных).
- Повторную отправку пакетов, если они теряются.
- Сохранение порядка доставки пакетов.
Короче тут сам выбираешь что тебе важнее, либо скорость, либо надежность.
Запоминаем:
Раз «собака» = UDP
Два «собака» = TCP
Что чаще применяют?
UDP, но если логи прям критичные то TCP, нет серебряной пули, всё зависит от конкретной ситуации. Но тут речь не про это, а про «собак».
Такие дела.
tags: #linux #monitoring
—
🔔 @bashdays➡️ @gitgatelocal0 – local7. Чо эт ваще такое?
ㅤ
Это «Фасилити»… Ладно, это что-то вроде категорий в которые можно завернуть свои логи и потом уже по ним грепать.
Суть этих категорий — не смешивать выхлоп пользовательских программ с системными логами.Системные логи это:
auth, daemon, mail, kern и т.д. Эти штуки ты можешь встретить например при настройке rsyslog конфига.
Рассмотрим пример:
import syslog
syslog.openlog(ident="BashDays", facility=syslog.LOG_LOCAL0)
syslog.syslog(syslog.LOG_INFO, "Привет из local0")
Не проверял, но суть ты поймешь.
Здесь я завернул логи приложения в категорию local0. И теперь могу открыть этот local0 и обрабатывать как мне нужно.
Например, закинуть его в эластик:
local0.* @log.bashdays.com:514
Ну или обработать локально в файл:
local0.* /var/log/local0.log
Так же можно завернуть необходимую группу приложений в эту категорию и отделить ее от системных логов.
Практика использования
local0: логи веб-сервера local1: для docker контейнеров local2: логи бекапов local3: логи крон скриптов local4–local7: резервныеТакие вот пироги. Ничо в этом сложного нет. Просто категории для изоляции, гибкости и скалируемости. Изучай! tags: #linux #monitoring — 🔔 @bashdays➡️ @gitgate
По реверс-шелам у меня есть отдельный пост с подробным мануалом.🎄 Ну и еще раз с Наступающим! Нарезали салатиков? tags: #utilites #linux #security — 🔔 @bashdays➡️ @gitgate
sort "filename"|uniq
ㅤ
Я уже также приводил конструкцию на awk которая извлекает из файла уникальные значения, но без требования сортировки:
awk '!a[$0]++' $RF
Она основана на использовании ассоциативных массивов, у которых ключ (текстовый индекс) всегда уникален.
Алгоритм описан здесь.Я подумал, что на bash такое тоже можно реализовать, ведь в bash тоже есть ассоциативные массивы. Да, конечно не так изящно, и уж, конечно, не быстро. Но зато чистый bash. Но может кому-то пригодится. Приведу сразу все примеры:
#!/bin/bash
clear
declare RF="./rnd_file.txt"
:> $RF # создали файл 10000 значений
# в диапазоне 0-4
for i in {1..10000};do
echo $(($SRANDOM%5))>>$RF
done
echo '#results'
echo '#sort|uniq'
sort $RF|uniq
echo '#uniq on AWK'
awk '!a[$0]++' $RF
echo '#uniq on #BASH'
declare -A A=
cat $RF |
while read -e rec;do
((A["$rec"]++)) || echo "$rec"
done
#results
#sort|uniq
#0
#1
#2
#3
#4
#uniq on AWK
#1
#2
#4
#0
#3
#uniq on #BASH
#1
#2
#4
#0
#3
Напомню, что алгоритм на awk/bash держит весь массив уникальных значений в памяти, поэтому при больших файлах ее может потребоваться много. Хотя при реализации на bash, Вы скорее умрете от старости, чем закончится память :-)
tags: #bash #linux
—
🔔 @bashdays➡️ @gitgate