ru
Feedback
BashMaster

BashMaster

Открыть в Telegram

Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help

Больше
8 730
Подписчики
Нет данных24 часа
+167 дней
+20530 день
Архив постов
⚙️ Скрипт для мониторинга использования диска и отправки оповещения, если оно превышает 80 % ➡️ Шаг 1. Проверьте использовани
⚙️ Скрипт для мониторинга использования диска и отправки оповещения, если оно превышает 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)" user@example.com
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)" user@example.com
 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

Идёте на Kuber Conf by AOT 4 декабря? Первая некоммерческая K8s-конференция в Москве — отличный повод встретиться и лично пог
Идёте на 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

⚙️ Небольшая шпаргалка по расширенным параметрам в Bash 🔨 bash_help
⚙️ Небольшая шпаргалка по расширенным параметрам в Bash 🔨 bash_help

Выиграйте грант на курс по Apache Kafka Скидки до 100% на новый поток «Apache Kafka База» от Слёрма. Научитесь строить отказо
Выиграйте грант на курс по Apache Kafka Скидки до 100% на новый поток «Apache Kafka База» от Слёрма. Научитесь строить отказоустойчивый кластер без тонны документации и разберётесь, как Kafka работает изнутри, чтобы предотвращать инциденты и держать систему стабильной под нагрузкой. При выполнении условий гранта вы сможете получить 1 из 3 вариантов: ⭐️ скидка 100% (1 место); ⭐️ скидка 50% (2 места); ⭐️ скидка 30% (2 места). Что сделать, чтобы принять участие: 1️⃣ Быть подписанным на канал Слёрма 2️⃣ Заполнить заявку Срок выполнения условий — до 20 ноября включительно. У вас будет всего одна попытка!  Каждый этап будет оцениваться командой Слёрма. Будьте честны и открыты! Итоги опубликуем в канале 21 ноября в 19:00 мск.

⚙️ Encryption-Decryption Tool ✔️Репозиторий, который содержит инструменты для шифрования и расшифровки данных в Linux на осно
⚙️ Encryption-Decryption Tool ✔️Репозиторий, который содержит инструменты для шифрования и расшифровки данных в Linux на основе Bash. ➡️ В репозитории представлены два инструмента: 💠Manual Encryption-Decryption Tool — интерактивный терминал для пользователей, который позволяет шифровать, расшифровывать или получать информацию о поддерживаемых шифрах. 💠Automatic Encryption-Decryption Tool — автоматизирует обработку текстовых файлов, применяя выбранный шифр и сохраняя результат в новый файл. ➡️ Manual Tool поддерживает: 💠шифрование, расшифровку и получение информации о шифрах; 💠обработку нескольких шифров с проверкой. ➡️ Automatic Tool позволяет: 💠обрабатывать файлы для шифрования и расшифровки; 💠автоматически называть выходной файл; 💠обрабатывать ошибки при операциях с файлами. 🐙 Перейти на Github 🔨 bash_help

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

Что бы ни происходило в мире — мы строим свой продукт. 10 лет писали код для других. А теперь делаем свой таск-менеджер — для
Что бы ни происходило в мире — мы строим свой продукт. 10 лет писали код для других. А теперь делаем свой таск-менеджер — для разработчиков. Подпишись, чтобы наблюдать, как это происходит вживую. Поюзать таск-трекер и дать ОС можно тут.

⚙️ bash-library ✔️Коллекция многоразовых функций и скриптов для задач DevOps и системного администрирования на языке Bash. ➡️
⚙️ bash-library ✔️Коллекция многоразовых функций и скриптов для задач DevOps и системного администрирования на языке Bash. ➡️ Проект предназначен для: 💠Интеграции функций в скрипты — функции можно использовать в скриптах. 💠Упрощения общих задач — готовые скрипты помогают выполнять задачи, которые часто встречаются в DevOps и системном администрировании. 💠Кроссплатформенной работы — проект работает на Linux и macOS. ➡️ В репозитории представлены: 💠Функции для работы с удалёнными репозиториями — например, для установки и удаления библиотеки. 💠Функции для работы с логированием. Функции для обработки ошибок. ▶️Каждая функция включает чёткую документацию. ➡️ В библиотеке представлены готовые скрипты для автоматизации повторяющихся задач. Например: 💠Автоматическое резервное копирование — скрипт, который архивирует указанный каталог и сохраняет его с меткой даты. 💠Автоматическая очистка логов — скрипт удаляет файлы логов, которые превышают заданный размер (например, 100 МБ). 💠Мониторинг параметров системы и оповещения — скрипт проверяет загрузку процессора, оперативной памяти и диска, и отправляет оповещение, если любой параметр превышает заданный порог. 🐙 Перейти на Github 🔨 bash_help

Разворачиваем кластер Managed Kubernetes бесплатно Kubernetes упрощает работу с приложениями на базе микросервисов за счет ав
Разворачиваем кластер 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

⚙️ Продвинутый Bash для автоматизации и безопасности ✔️Продвинутое написание скриптов оболочки требует технических навыков, а
⚙️ Продвинутый 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

Как бигтехи кошмарят вас на собеседованиях Успешно пройти секцию по профильным хардам, но смачно опозориться на логической за
Как бигтехи кошмарят вас на собеседованиях Успешно пройти секцию по профильным хардам, но смачно опозориться на логической задаче с часами? В этом вся суть интервью в бигтехе Автор этой истории побывал на собесе в ❤️ и рассказал всю правду о клоунаде, которая там происходила. Готовьте попкорн! Вита Заебумба | Путь корпората — топовый канал про IT, сферу найма, трешовые собесы и работу в корпорациях. Просто кладезь кулстори не только от автора, но и от подписчиков Еще больше жизненных историй про IT и полезных материалов с лайфхаками по найму ты найдешь на канале @vitazaebymba ➡️ Подписывайся!

⚙️ Atuin ✔️Инструмент для управления историей команд в оболочке. ➡️Некоторые возможности: 💠заменяет стандартный механизм ист
⚙️ Atuin ✔️Инструмент для управления историей команд в оболочке. ➡️Некоторые возможности: 💠заменяет стандартный механизм истории команд базой данных SQLite; 💠записывает дополнительный контекст для каждой команды (время, статус выхода, длительность выполнения и т. д.); 💠обеспечивает мощный контекстный поиск; 💠позволяет синхронизировать историю команд на нескольких машинах с шифрованием; 💠предлагает удобный интерфейс поиска с настраиваемыми комбинациями клавиш. ▶️Поддерживаемые оболочки: zsh, bash, fish, nushell, xonsh. 🐙 Перейти на Github 🔨 bash_help

⚙️ reloader.sh ✔️Автоматически перезагружайте файлы конфигурации с помощью простого Bash-скрипта, который оптимизирует рабочи
⚙️ reloader.sh ✔️Автоматически перезагружайте файлы конфигурации с помощью простого Bash-скрипта, который оптимизирует рабочий процесс и сэкономит ваше время. ▶️Скрипт позволяет быстро загружать изменения без необходимости перезапуска приложений. Это особенно полезно для пользователей, которым часто приходится работать с несколькими конфигурациями. ➡️ Особенности скрипта: 💠Простота использования: не требуются навыки программирования. 💠Быстродействие: загрузка конфигураций за считанные секунды. 💠Поддержка различных форматов: работает с различными типами файлов конфигураций. 💠Легкий: небольшой размер файла позволяет легко загрузить и запустить программу. 🐙 Перейти на Github 🔨 bash_help

⚡️ Запускаем крупный розыгрыш призов, где можно выиграть iPhone 17, игровые наушники, клавиатуру и мышь! Без лишних слов, усл
⚡️ Запускаем крупный розыгрыш призов, где можно выиграть iPhone 17, игровые наушники, клавиатуру и мышь! Без лишних слов, условия: 1. Подписка на: — бизнестрендсТехнотрендыБлумберг 2. Нажать кнопку «Участвовать» снизу Итоги будут опубликованы 15 ноября в 18:00 на наших каналах, желаем удачи!

⚙️ libshell ✔️Библиотека часто используемых функций для POSIX shell. ➡️ Некоторые функции, которые входят в состав библиотеки
⚙️ 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

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

⚙️ Шпаргалка по bash ✔️Шпаргалка основных команд Git Bash, терминала OSX, терминала linux. ➡️ Содержание: 💠Файловая система
⚙️ Шпаргалка по bash ✔️Шпаргалка основных команд Git Bash, терминала OSX, терминала linux. ➡️ Содержание: 💠Файловая система 💠Алиасы 💠Использование переменных 💠Подстановка команд в переменные 💠Математические операции 💠Управляющая конструкция if-then 💠Управляющая конструкция if-then-else 💠Конструкция CASE 💠Циклы 💠Сравнение чисел 💠Сравнение строк 💠Проверки файлов 💠Операторы 🐙 Перейти на Github 🔨 bash_help

⚙️ Simple-Bash-Port-Scanner ✔️Простой сканер портов, написанный на языке Bash. Цель программы — проверять, работает ли хост,
⚙️ Simple-Bash-Port-Scanner ✔️Простой сканер портов, написанный на языке Bash. Цель программы — проверять, работает ли хост, а затем по отдельности тестировать диапазон портов, чтобы определять, открыты они или закрыты. ➡️ Некоторые возможности инструмента: 💠Установка времени ожидания. Пользователь может указать, сколько секунд программа должна тратить на сканирование каждого порта. Например, -t 10 означает, что время сканирования каждого порта в диапазоне составит 10 секунд. 💠Выбор цели сканирования. Это может быть стандартный веб-адрес или URL. Если ввести неправильный хост, программа выведет сообщение о том, что хост не работает, и завершится. 💠Выбор диапазона портов. Начало диапазона портов, которые будет сканировать программа, обозначается числом. Конец диапазона портов, которые будет сканировать программа, также обозначается числом. 💠Использование файла в качестве входных аргументов. Пользователь может выбрать текстовый файл с аргументами в формате: хост, начальный порт, конечный порт. 🐙 Перейти на Github 🔨 bash_help

⚡️ Специалисты из команды CodeGuard собрали для вас тонны обучающего материала Отсортировали и разбили по каналам: |- - - 📂 Хакинг & infosec — 573ГБ | |- - - 📂 Linux & Bash — 652ГБ | |- - - 📂 Работа ИБ — 356ГБ | |- - - 📂 Python — 428ГБ | |- - - 📂 Общее IT — 1526ГБ 📌 Гайды, шпаргалки, книги, задачи и ресурсы для каждого.

⚙️ bash devops automation suite ✔️Коллекция проверенных bash-скриптов для AWS, Kubernetes, CI/CD и облачной автоматизации. 🐙
⚙️ bash devops automation suite ✔️Коллекция проверенных bash-скриптов для AWS, Kubernetes, CI/CD и облачной автоматизации. 🐙 Перейти на Github 🔨 bash_help