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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ DevOps База знаний

✔️Структурированная база знаний для изучения DevOps с практическими примерами и командами для каждого инструмента.

➡️ Основные разделы базы знаний:
💠 Linux: основы ОС, процессы, память, файловая система, пользователи и права
💠 Network: модели OSI/TCP-IP, IP-адресация, маршрутизация, VPN и Proxy
💠 Docker: контейнеризация, images, volumes, networking, Docker Compose
💠 Ansible: автоматизация, playbooks, роли, шаблоны, безопасность
💠 Kubernetes: оркестрация, компоненты, ресурсы, сервисы, управление

▶️Бонус: Практические задачи с уровнями сложности.
💠Easy: классический деплой приложения на Linux
💠Medium: контейнеризация и управление окружениями

▶️В репозитории представлены детальные материалы с акцентом на практику: минимум теории + разбор работы инструментов через реальные команды.

🐙 Перейти на Github
🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍115🔥5😐1
⚙️ bash devops automation suite

✔️Коллекция проверенных bash-скриптов для AWS, Kubernetes, CI/CD и облачной автоматизации.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍32😐1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Специалисты из команды CodeGuard собрали для вас тонны обучающего материала

Отсортировали и разбили по каналам:

|- - - 📂 Хакинг & infosec — 573ГБ
|
|- - - 📂 Linux & Bash — 652ГБ
|
|- - - 📂 Работа ИБ — 356ГБ
|
|- - - 📂 Python — 428ГБ
|
|- - - 📂 Общее IT — 1526ГБ

📌 Гайды, шпаргалки, книги, задачи и ресурсы для каждого.
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍4🔥1
⚙️ Simple-Bash-Port-Scanner

✔️Простой сканер портов, написанный на языке Bash. Цель программы — проверять, работает ли хост, а затем по отдельности тестировать диапазон портов, чтобы определять, открыты они или закрыты.

➡️ Некоторые возможности инструмента:
💠Установка времени ожидания. Пользователь может указать, сколько секунд программа должна тратить на сканирование каждого порта. Например, -t 10 означает, что время сканирования каждого порта в диапазоне составит 10 секунд.
💠Выбор цели сканирования. Это может быть стандартный веб-адрес или URL. Если ввести неправильный хост, программа выведет сообщение о том, что хост не работает, и завершится.
💠Выбор диапазона портов. Начало диапазона портов, которые будет сканировать программа, обозначается числом. Конец диапазона портов, которые будет сканировать программа, также обозначается числом.
💠Использование файла в качестве входных аргументов. Пользователь может выбрать текстовый файл с аргументами в формате: хост, начальный порт, конечный порт.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥3
⚙️ Шпаргалка по bash

✔️Шпаргалка основных команд Git Bash, терминала OSX, терминала linux.

➡️ Содержание:
💠Файловая система
💠Алиасы
💠Использование переменных
💠Подстановка команд в переменные
💠Математические операции
💠Управляющая конструкция if-then
💠Управляющая конструкция if-then-else
💠Конструкция CASE
💠Циклы
💠Сравнение чисел
💠Сравнение строк
💠Проверки файлов
💠Операторы

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥75
⚙️ timep

✔️Профайлер и генератор FlameGraph для кода на языке bash.

▶️Инструмент не только показывает время выполнения каждой команды, но и создаёт полное дерево стека вызовов для профилируемого кода bash. При желании на основе этого дерева стека можно сгенерировать FlameGraph отпрофилированных команд bash.

➡️ Некоторые возможности программы:
💠Флаги -f, -s и -c позволяют заставить timep рассматривать вход как функцию, скрипт или список необработанных команд.
💠Флаг -k или --keep не позволяет timep удалять все промежуточные логи и файлы скриптов.
💠Флаг -t или --time позволяет запускать код через встроенную оболочку time, помимо генерации профилей времени и выходных данных FlameGraph.
💠Флаг -o <тип> позволяет контролировать, какие выходные данные печатаются в stdout после завершения работы timep.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3
⚙️ libshell

✔️Библиотека часто используемых функций для POSIX shell.

➡️ Некоторые функции, которые входят в состав библиотеки:
💠shell-getopt — реализует утилиту getopt(1) и семейство getopt;
💠shell-config — позволяет работать с файлами конфигурации (читать, изменять и удалять переменные);
💠shell-ini-config — работает с файлами конфигурации в стиле ini;
💠shell-signal — меняет действие, которое выполняется процессом при получении определённого сигнала;
💠shell-args — проверяет тип аргумента, выводит версию и использование программы;
💠shell-ip-address — проверяет IP-адрес;
💠shell-mail-address — проверяет домен и адрес электронной почты;
💠shell-quote — позволяет заключать переменные в кавычки;
💠shell-unittest — платформа для тестирования оболочки (совместима с xUnit);
💠shell-error — выводит сообщения об ошибках и подробные сообщения.

▶️Библиотека имеет модульную структуру, каждый модуль используется для своих целей

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥3
Forwarded from Технотренды
⚡️ Запускаем крупный розыгрыш призов, где можно выиграть iPhone 17, игровые наушники, клавиатуру и мышь!

Без лишних слов, условия:

1. Подписка на:
бизнестрендс
Технотренды
Блумберг
2. Нажать кнопку «Участвовать» снизу

Итоги будут опубликованы 15 ноября в 18:00 на наших каналах, желаем удачи!
🔥1
⚙️ reloader.sh

✔️Автоматически перезагружайте файлы конфигурации с помощью простого Bash-скрипта, который оптимизирует рабочий процесс и сэкономит ваше время.

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

➡️ Особенности скрипта:
💠Простота использования: не требуются навыки программирования.
💠Быстродействие: загрузка конфигураций за считанные секунды.
💠Поддержка различных форматов: работает с различными типами файлов конфигураций.
💠Легкий: небольшой размер файла позволяет легко загрузить и запустить программу.

🐙 Перейти на Github

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

✔️Инструмент для управления историей команд в оболочке.

➡️Некоторые возможности:
💠заменяет стандартный механизм истории команд базой данных SQLite;
💠записывает дополнительный контекст для каждой команды (время, статус выхода, длительность выполнения и т. д.);
💠обеспечивает мощный контекстный поиск;
💠позволяет синхронизировать историю команд на нескольких машинах с шифрованием;
💠предлагает удобный интерфейс поиска с настраиваемыми комбинациями клавиш.

▶️Поддерживаемые оболочки: zsh, bash, fish, nushell, xonsh.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83🔥3
Как бигтехи кошмарят вас на собеседованиях

Успешно пройти секцию по профильным хардам, но смачно опозориться на логической задаче с часами? В этом вся суть интервью в бигтехе

Автор этой истории побывал на собесе в ❤️ и рассказал всю правду о клоунаде, которая там происходила. Готовьте попкорн!

Вита Заебумба | Путь корпората — топовый канал про IT, сферу найма, трешовые собесы и работу в корпорациях. Просто кладезь кулстори не только от автора, но и от подписчиков

Еще больше жизненных историй про IT и полезных материалов с лайфхаками по найму ты найдешь на канале @vitazaebymba

➡️ Подписывайся!
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1
⚙️ Продвинутый Bash для автоматизации и безопасности

✔️Продвинутое написание скриптов оболочки требует технических навыков, а также соблюдения лучших практик, которые обеспечивают надежность, сопровождаемость и эффективность ваших скриптов. По мере усложнения скриптов становится важным их грамотно структурировать и внедрять такие методы, как обработка ошибок и отладка. Следуя этим практикам, IT-специалисты могут создавать скрипты, которые являются надежными и адаптируемыми, особенно в динамичных средах Linux, где автоматизация играет ключевую роль в повышении продуктивности.

➡️ Основные выводы
💠Надёжная обработка ошибок: Внедрите set -e для немедленного завершения при ошибке, используйте команды trap для выполнения очистки и предоставляйте информативные сообщения об ошибках для повышения надёжности скрипта и упрощения отладки
💠Продвинутые структуры данных: Используйте ассоциативные массивы с declare -A для отображения ключ-значение и имитируйте многомерные массивы для сложных сценариев управления данными
💠Мощное сопоставление шаблонов: Используйте встроенные регулярные выражения Bash с оператором =~ и тестами [[ ]] для эффективной обработки текста без внешних инструментов, таких как grep или awk
💠Управление процессами: Используйте подсистемы () для изоляции переменных и подстановку процессов <() для бесшовной интеграции команд без временных файлов
💠Оптимизация производительности: Реализуйте параллелизацию с использованием xargs -P, фоновые процессами с помощью & и команды wait, чтобы максимально использовать многопроцессорные системы
💠Комплексное тестирование: используйте BATS (Bash Automated Testing System) для модульного тестирования, реализуйте корректное ведение логов с помощью tee и файлов трассировки, а также профилируйте скрипты с помощью инструментов time, strace и perf
💠Лучшие практики управления версиями: Логически организуйте скрипты, используйте осмысленные сообщения коммитов, внедряйте .gitignore для конфиденциальных данных, используйте ветви для разработки функций и тегируйте релизы для развертывания в продакшн

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍5🔥4
Разворачиваем кластер Managed Kubernetes бесплатно

Kubernetes упрощает работу с приложениями на базе микросервисов за счет автоматизации развертывания и масштабирования. А Selectel упрощает работу с Kubernetes.

Новые клиенты сейчас могут получить до 30 000 бонусов на использование Managed Kubernetes от Selectel.

Для каких задач он подойдет?

🔹Запустить высоконагруженные сервисы и ML-проекты. В Selectel можно развернуть кластеры на производительном железе и добавить ноды с GPU.
🔹Повысить производительность и изолировать ресурсы. Managed Kubernetes от Selectel позволяет создать кластеры с воркер-нодами на выделенных серверах, а не в облаке. Все ресурсы сервера — ваши.
🔹Сократить затраты на инфраструктуру. Кластеры на базе прерываемых ВМ позволят сэкономить до 70% расходов и подойдут для CI/CD, пакетной обработки данных, дата-аналитики и других задач.

Успейте зарегистрироваться и оставить заявку на участие в акции, чтобы протестировать сервис бесплатно: https://slc.tl/vafr0

Реклама. АО "Селектел". erid:2W5zFGgLFw6
2
⚙️ 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
👍10🔥43😐1