BashMaster
8.3K subscribers
819 photos
21 videos
1 file
842 links
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов.

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ bash-library

✔️Коллекция многоразовых функций и скриптов для задач DevOps и системного администрирования на языке Bash.

➡️ Проект предназначен для:
💠Интеграции функций в скрипты — функции можно использовать в скриптах.
💠Упрощения общих задач — готовые скрипты помогают выполнять задачи, которые часто встречаются в DevOps и системном администрировании.
💠Кроссплатформенной работы — проект работает на Linux и macOS.

➡️ В репозитории представлены:
💠Функции для работы с удалёнными репозиториями — например, для установки и удаления библиотеки.
💠Функции для работы с логированием.
Функции для обработки ошибок.

▶️Каждая функция включает чёткую документацию.

➡️ В библиотеке представлены готовые скрипты для автоматизации повторяющихся задач. Например:
💠Автоматическое резервное копирование — скрипт, который архивирует указанный каталог и сохраняет его с меткой даты.
💠Автоматическая очистка логов — скрипт удаляет файлы логов, которые превышают заданный размер (например, 100 МБ).
💠Мониторинг параметров системы и оповещения — скрипт проверяет загрузку процессора, оперативной памяти и диска, и отправляет оповещение, если любой параметр превышает заданный порог.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍53🔥3😐2
Что бы ни происходило в мире — мы строим свой продукт.
10 лет писали код для других.
А теперь делаем свой таск-менеджер — для разработчиков.
Подпишись, чтобы наблюдать, как это происходит вживую.

Поюзать таск-трекер и дать ОС можно тут.
👍5😐2
⚙️ Как получать уведомления о входе в систему по SSH в Linux

✔️Всегда полезно знать, кто и когда подключается к вашему серверу Linux по протоколу SSH. Даже если доступ есть только у вас, рекомендуется следить за подключениями. Для команд или производственных систем получение уведомлений о входах по протоколу SSH обеспечивает дополнительный уровень осведомлённости и безопасности.

▶️В этой статье вы увидите простой способ настроить уведомления о входе в систему по протоколу SSH. Это позволит вам быть уверенными в том, что вы в режиме реального времени знаете, кто получает доступ к вашему серверу.

🖼️ Прочитать статью в источнике

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥7
⚙️ Encryption-Decryption Tool

✔️Репозиторий, который содержит инструменты для шифрования и расшифровки данных в Linux на основе Bash.

➡️ В репозитории представлены два инструмента:
💠Manual Encryption-Decryption Tool — интерактивный терминал для пользователей, который позволяет шифровать, расшифровывать или получать информацию о поддерживаемых шифрах.
💠Automatic Encryption-Decryption Tool — автоматизирует обработку текстовых файлов, применяя выбранный шифр и сохраняя результат в новый файл.

➡️ Manual Tool поддерживает:
💠шифрование, расшифровку и получение информации о шифрах;
💠обработку нескольких шифров с проверкой.

➡️ Automatic Tool позволяет:
💠обрабатывать файлы для шифрования и расшифровки;
💠автоматически называть выходной файл;
💠обрабатывать ошибки при операциях с файлами.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
Выиграйте грант на курс по Apache Kafka

Скидки до 100% на новый поток «Apache Kafka База» от Слёрма.

Научитесь строить отказоустойчивый кластер без тонны документации и разберётесь, как Kafka работает изнутри, чтобы предотвращать инциденты и держать систему стабильной под нагрузкой.

При выполнении условий гранта вы сможете получить 1 из 3 вариантов:

⭐️ скидка 100% (1 место);
⭐️ скидка 50% (2 места);
⭐️ скидка 30% (2 места).

Что сделать, чтобы принять участие:

1️⃣ Быть подписанным на канал Слёрма
2️⃣ Заполнить заявку

Срок выполнения условий — до 20 ноября включительно. У вас будет всего одна попытка! 
Каждый этап будет оцениваться командой Слёрма. Будьте честны и открыты!

Итоги опубликуем в канале 21 ноября в 19:00 мск.
2
⚙️ Небольшая шпаргалка по расширенным параметрам в Bash

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍4🔥2
Идёте на Kuber Conf by AOT 4 декабря?

Первая некоммерческая K8s-конференция в Москве — отличный повод встретиться и лично поговорить с топовыми инженерами и архитекторами.

Конференция проходит под эгидой Ассоциации облачно-ориентированных технологий (АОТ), которую создают Флант, VK Cloud и Yandex Cloud.

В программе реальные кейсы от команд Авито, Т-Банка, Vitastor, Beget, VK Cloud, Yandex Cloud и Selectel, а среди докладов:

• Изменения в Cluster API без пересоздания машин;
• Как строили платформу деплоя в Т-Банке;
• Практический deep-dive в CNI chaining;
• Безопасный Gatekeeper в архитектуре k8s-in-k8s;
• Поддержка Kubernetes в Vitastor;
• Karpenter-провайдер своими руками — что внутри.

Для подписчиков канала действует промокод: KUBERCONF20

Программа и билеты

Реклама Садовская.Е.О
ИНН:9710066394 Erid:2VtzqwwepUy
2
⚙️ Скрипт для мониторинга использования диска и отправки оповещения, если оно превышает 80 %

➡️ Шаг 1. Проверьте использование диска в Linux
▶️Прежде чем писать сценарий, вам нужно узнать, сколько места на диске занимает ваша система, с помощью команды df:
df -h


➡️ Шаг 2. Создайте скрипт для мониторинга использования диска
▶️Вот очень простой скрипт для мониторинга корневого раздела (/):
#!/bin/bash

# Установка порогового значения (в процентах)
THRESHOLD=80

# Извлечение процента использования корневой файловой системы
USAGE=$(df -h / | awk 'NR==2 {print }' | sed 's/%//')

# Сравнение использования с пороговым значением
if [ "$USAGE" -ge "$THRESHOLD" ]; then
echo "Предупреждение: использование диска составляет ${USAGE}% на $(hostname)" | mail -s "Предупреждение о диске: $(hostname)" [email protected]
fi

▶️Давайте разберёмся, что здесь происходит:
💠THRESHOLD=80 → Это тот предел, который нас интересует. Всё, что выше, слишком рискованно.
💠df -h / → Проверяется только корневая файловая система.
💠awk 'NR==2 {print }' → Из вывода df извлекается столбец «Use%».
💠sed 's/%//' → Убирает знак %, чтобы мы могли рассматривать его как число.
💠Блок if → Если использование диска превышает пороговое значение, срабатывает оповещение.

➡️ Шаг 3. Мониторинг использования всех разделов диска
▶️Вот немного улучшенная версия, которая проверяет все подключённые файловые системы:
#!/bin/bash

THRESHOLD=80

# Перебираем все файловые системы, перечисленные в df
df -h | grep '^/dev/' | while read line; do
USAGE=$(echo $line | awk '{print }' | sed 's/%//')
PART=$(echo $line | awk '{print }')

if [ "$USAGE" -ge "$THRESHOLD" ]; then
echo "Предупреждение: раздел $PART заполнен на ${USAGE}% на $(hostname)" | mail -s "Оповещение о состоянии диска: $(hostname)" [email protected]
fi
done

▶️Теперь вместо того, чтобы проверять только /, он будет проверять каждую файловую систему в /dev/ и, если какой-либо раздел пересечёт границу 80%, вы получите электронное письмо с предупреждением.

➡️ Шаг 4. Автоматизация скрипта с помощью Cron
▶️Чтобы настроить его, откройте файл crontab с помощью:
crontab -e

▶️Добавьте эту строку внизу:
0 * * * * /путь/к/файлу_проверки_диска.sh

▶️Сохраните и выйдите, а cron позаботится обо всём остальном. С этого момента ваш скрипт будет в фоновом режиме проверять использование диска и предупреждать вас, если ситуация ухудшится.

➡️ Шаг 5. Тестирование скрипта
▶️Прежде чем полагаться на этот скрипт, стоит его протестировать. В конце концов, не стоит ждать, пока ваш диск заполнится на 80 %, чтобы проверить, работает ли ваша система оповещений.Самый простой способ проверить — временно снизить порог:
THRESHOLD=1

▶️Таким образом, скрипт почти наверняка сразу же выдаст предупреждение, поскольку большинство разделов заполнены как минимум на 80 %. Как только вы убедитесь, что электронная почта или журналы работают, измените значение на 80.

▶️Если вы не готовы настраивать электронную почту, вы можете заменить команду mail на что-то более простое, например:
echo "Предупреждение: раздел $PART используется на ${USAGE}% на $(hostname)"


➡️ Шаг 6. Настройка уведомлений по электронной почте
▶️Наш скрипт использует команду mail для отправки оповещений, но этот инструмент не всегда доступен по умолчанию. Сначала вам нужно будет его установить:
sudo apt install mailutils [В Debian]
sudo yum install mailx [В RHEL]

▶️После установки убедитесь, что ваш сервер действительно может отправлять электронные письма. Для этого может потребоваться дополнительная настройка, например Postfix, Gmail SMTP или сторонний сервис, например SendGrid.

▶️Если вы не хотите сейчас работать с электронной почтой, вы всё равно можете использовать этот скрипт, записывая оповещения в файл:
echo "Предупреждение об использовании диска: $PART, $USAGE%" >> /var/log/disk_alert.log

▶️Таким образом, вы сможете проверить журнал позже или использовать следующую команду для просмотра оповещений в режиме реального времени.
tail -f /var/log/disk_alert.log


🖼️ Прочитать статью в источнике

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥43😐1
🔥OS DevConf 25 powered by GigaChat — конференция про разработку системного ПО, ядра Linux и open source.

Один день, 500 участников, 20+ докладов, 3 трека — концентрат практического опыта, знаний и инструментов, готовых к внедрению сразу по возвращению в офис. И, конечно, мега-возможности для нетворкинга с коллегами и экспертами сообщества!

Что будем обсуждать?
-Инструменты и примеры отладки, виртуализации, оптимизации производительности
-Практический опыт оптимизации сетевых решений с DPDK
-Эффективные методы безопасной разработки ядра Linux
-Реальные кейсы создания драйверов на Rust
-Все про GPU, NPU, ASIC и как запускать AI на железе под Linux и не только. Как AI встраивается в современную разработку
-Современные подходы к разработке системного и embedded ПО

Участие бесплатное, но количество мест ограничено — зарегистрируйтесь прямо сейчас 💻

#реклама
О рекламодателе
👍21
⚙️ Как настроить автодополнение для команды ssh с хостами из .ssh/config

✔️Автодополнение — одна из самых полезных функций командной строки, позволяющая быстро подбирать подходящие аргументы или команды, просто нажав клавишу Tab. В этой статье вам расскажут, как настроить автодополнение для команды ssh, чтобы Bash подсказывал хосты, указанные в файле ~/.ssh/config.

➡️ Содержание:
💠Понять зачем это нужно
💠Настройка автодополнения хостов из ~/.ssh/config
💠Скрипт для автодополнения хостов
💠Автозапуск автокомплита
💠Добавление удобного алиаса для получения информации о подключении

🖼️ Прочитать статью на Habr'e

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥42
📣 Внимание, хакеры и разработчики!

Канал БАГодельня запустил площадку с CTF-задачами — это проект, в котором ребята создают CTF-задачи для прокачки навыков в IT и ИБ. Новые задачи каждую субботу!

На канале вас ждут:
Задачи для практики
Руководства и шпоргалки
Разбор кода и алгоритмы
Код-ревью проектов

Все бесплатно и уже более 70 задач на платформе!

Практикуйтесь с нами: @bug_makers
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
⚙️ AliasForge

✔️Легкий кроссплатформенный менеджер псевдонимов, который добавляет ваши персональные сочетания клавиш в любую оболочку (Bash, Zsh или Fish) на macOS и Linux. Он делает ваши любимые команды портативными, удобными для редактирования и мгновенно доступными при каждом входе в систему.

➡️ Возможности:
💠Кроссплатформенность: macOS и Linux
💠Поддержка нескольких оболочек: Bash, Zsh, Fish и NuShell
💠Идемпотентность: можно запускать несколько раз
💠Простота настройки: отредактируйте один файл, перезагрузите, и готово
💠Возможность удаления для «чистого листа»

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥43
😵‍💫Loading…
Падают продажи из-за долгой загрузки?

Распродажи — злачный сезон только для тех, кто готов к пиковым нагрузкам. Пользователи не станут ждать, если в приложении или на сайте в разы вырастет время загрузки. Чтобы не терять клиентов, подключайте сеть доставки контента от Selectel.

Кроме ускорения загрузки, CDN поможет:

🔹 повысить позиции сайта в поисковой выдаче,
🔹 сэкономить на инфраструктуре,
🔹 обеспечить постоянную доступность сервиса,
🔹 защитить инфраструктуру от DDoS-атак.

До 31 декабря можно подключить CDN от Selectel со скидкой до 50%. Скидка распространяется на дополнительный трафик и действует до конца июня. Единственное условие — подать заявку на участие в акции до конца года.

Регистрируйтесь и ускорьте загрузку сайта с помощью CDN от Selectel со скидкой: https://slc.tl/pzk85

Реклама. АО "Селектел". erid: 2W5zFHRVJpQ
👍2
⚙️ Управление рабочими процессами c помощью timeout и wait для контроля параллельных задач

✔️Для управления несколькими параллельными процессами в Bash важно контролировать их выполнение и предотвращать зависания или снижение производительности. Инструменты timeout и wait позволяют ограничить время выполнения задач и обеспечить их корректное завершение.

➡️ Пример:
Запуск длительных процессов с ограничением времени работы и ожиданием их завершения перед продолжением.
#!/bin/bash

# Функция для выполнения команды с таймаутом
run_with_timeout() {
timeout 10s "$@" || echo "Process $1 timed out"
}

# Запуск нескольких процессов параллельно
run_with_timeout command1 &
run_with_timeout command2 &
run_with_timeout command3 &

# Ожидаем завершения всех процессов
wait
echo "All processes completed."

➡️ Как это работает:
💠timeout 10s — устанавливает ограничение по времени на выполнение каждой команды. Если процесс не завершится за 10 секунд, он будет завершен автоматически.
💠& — запускает команды в фоновом режиме, позволяя им работать параллельно.
💠wait — блокирует выполнение скрипта до тех пор, пока все фоновые процессы не завершатся.
💠command1, command2, command3 — это команды или скрипты, которые могут выполнять задачи в фоне, например, запрашивать внешние API, выполнять анализ данных или обрабатывать файлы.

▶️Такой способ контроля над процессами помогает избегать зависаний и позволяет обрабатывать ошибки на лету, не блокируя другие процессы.

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍113🔥3
⚙️ Bash Style Guide

✔️Минималистичное и чёткое руководство по читаемому, безопасному и портируемому Bash-коду.

➡️ Коротко, что советует автор:
💠Используй [[ ... ]] вместо [ — надёжнее.
💠foo() и local var=... — забудь про function.
💠Только $(...) — никаких обратных кавычек.
💠Не ls, а glob (*) и while read.
💠Арифметика? Только ((…)) и $((…)).
💠Переменные — всегда в кавычках: "$name".
💠Только табы. Только 80 символов в строке.

▶️Всё это с аргументами. Есть терминальная версия: curl style.ysap.sh/plain

🖼️ Перейти на сайт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥43
Бесплатная конференция по веб-безопасности

⛴️ NGENIX ICEBREAKER 2025 — это 3,5 часа технического контента, 12 докладов, интервью и воркшопов, чат с экспертами и подарки и классный мерч для самых активных зрителей.

Эксперты NGENIX исследуют, какие фичи и продукты для защиты веба сегодня нужны ИТ- и ИБ-командам.

В программе конференции — ключевые направления веб-безопасности: 
🛡 защита от DDoS- и продвинутых бот-атак; 
🤖 защита API и улучшение методов детекции ботов; 
📊 эволюция средств статистики и продвинутой аналитики; 
💻 развитие российских продуктов ИБ и аттестация;
🔑 управление правами доступа.

📍12 декабря, 11:00 
🔹Онлайн 
🔹Бесплатно

ЗАРЕГИСТРИРОВАТЬСЯ
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5🔥1
⚙️ Шпаргалка по функциям в Bash-скриптах

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍145🔥5
⚙️ brightness-controller

✔️Простой bash‑скрипт для управления яркостью экрана в Linux‑системах.

▶️Скрипт запускается с параметром:
brightness-controller.sh 'параметр'


➡️ Доступные параметры:
💠Число от  0,1 до 1,0 — установка конкретного уровня яркости.
💠+ — увеличение яркости на шаг 0,1.
💠- — уменьшение яркости на шаг 0,1.

▶️Можно создать горячие клавиши в среде рабочего стола (DE) или оконном менеджере (WM), чтобы:
💠увеличивать яркость:
bash /home/'ваше_имя'/bin/brightness-controller.sh +

💠уменьшать яркость:
bash /home/'ваше_имя'/bin/brightness-controller.sh -


▶️Скрипт работает через интерфейс ядра Linux для управления яркостью дисплея. Требует прав пользователя, у которого есть доступ к настройкам экрана.

▶️Простота и минимализм — основное преимущество этого решения (нет графического интерфейса, только командная строка).

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54🔥2
⚡️ YADRO×SPRINT OFFER: оффер для Network Engineer in Test за 3 дня!

Хотите работать в команде, которая создаёт инфраструктуру для дата-центров и обеспечивает надёжность сетевых систем мирового уровня?

Мы в поиске специалистов в команду KORNFELD, которая занимается тестированием коммутаторов различных типов и сетевого оборудования YADRO. Инженеры анализируют поведение систем, актуализируют требования, создают сценарии и подходы к тестированию — от функционального до надёжности и отказоустойчивости, а также помогают совершенствовать архитектуру продуктов и пользовательский опыт.

💡 Как всё проходит:
1️⃣ Оставьте заявку до 30 ноября, пройдите HR-скрининг и технический скрининг.
2️⃣ Пройдите техническое и менеджерское интервью.
3️⃣ Получите оффер всего за 3 дня.

🚀 Основные задачи:
• Анализ продуктовых требований и подготовка use cases.
• Проведение E2E- и failover-тестирования.
• Разработка тест-кейсов и тест-планов для нового и уже существующего функционала.
• Участие в совместных испытаниях и взаимодействие с командами разработки, L3 и сервиса.

🔥 Для нас важны:
• Опыт работы с сетевым оборудованием (Cisco, Huawei, Juniper и др).
• Глубокие знания протоколов, применяемых в ЦОДах (BGP, OSPF, VxLAN, VRRP и др.).
• Навыки тестирования и траблшутинга.
• Внимательность, системность и интерес к сетевым технологиям.

💙 Оставляйте заявку до 30 ноября, присоединяйтесь к инженерному сообществу YADRO и вносите вклад в развитие сетевых технологий будущего!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚙️ xonsh

✔️Кроссплатформенный язык оболочки и командный интерпретатор на основе Python.

▶️Он объединяет Python и оболочку bash таким образом, что вы можете запускать команды Python непосредственно в оболочке. А также можете комбинировать команды Python и shell.

➡️ Установка:
▶️Вы можете установить xonsh в систему через пакетный менеджер вашего дистрибутива, например для Ubuntu, командой:
sudo apt install xonsh

▶️Но как правило, сперва активируется виртуальное окружение Python, а затем в окружении устанавливается xonsh:
pip install 'xonsh[full]'

▶️Это гарантирует, что вы вызовете правильный интерпретатор Python и модуль pip. И получите актуальную версию xonsh.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥32
⚙️ goManageDocker

✔️Команды Docker вылетают из головы, потому что вы не используете Docker достаточно часто? Устали гуглить команды для повседневных задач? GoManageDocker создан, чтобы решить эту проблему.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52