uk
Feedback
BashMaster

BashMaster

Відкрити в Telegram

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

Показати більше
8 888
Підписники
-624 години
-197 днів
+1630 день
Архів дописів
⚙️ AliasForge ✔️Легкий кроссплатформенный менеджер псевдонимов, который добавляет ваши персональные сочетания клавиш в любую
⚙️ AliasForge ✔️Легкий кроссплатформенный менеджер псевдонимов, который добавляет ваши персональные сочетания клавиш в любую оболочку (Bash, Zsh или Fish) на macOS и Linux. Он делает ваши любимые команды портативными, удобными для редактирования и мгновенно доступными при каждом входе в систему. ➡️ Возможности: 💠Кроссплатформенность: macOS и Linux 💠Поддержка нескольких оболочек: Bash, Zsh, Fish и NuShell 💠Идемпотентность: можно запускать несколько раз 💠Простота настройки: отредактируйте один файл, перезагрузите, и готово 💠Возможность удаления для «чистого листа» 🐙 Перейти на Github 🔨 bash_help

📣 Внимание, хакеры и разработчики! Канал БАГодельня запустил площадку с CTF-задачами — это проект, в котором ребята создают
📣 Внимание, хакеры и разработчики! Канал БАГодельня запустил площадку с CTF-задачами — это проект, в котором ребята создают CTF-задачи для прокачки навыков в IT и ИБ. Новые задачи каждую субботу! На канале вас ждут: Задачи для практикиРуководства и шпоргалкиРазбор кода и алгоритмыКод-ревью проектов Все бесплатно и уже более 70 задач на платформе! Практикуйтесь с нами: @bug_makers

⚙️ Как настроить автодополнение для команды ssh с хостами из .ssh/config ✔️Автодополнение — одна из самых полезных функций ко
⚙️ Как настроить автодополнение для команды ssh с хостами из .ssh/config ✔️Автодополнение — одна из самых полезных функций командной строки, позволяющая быстро подбирать подходящие аргументы или команды, просто нажав клавишу Tab. В этой статье вам расскажут, как настроить автодополнение для команды ssh, чтобы Bash подсказывал хосты, указанные в файле ~/.ssh/config. ➡️ Содержание: 💠Понять зачем это нужно 💠Настройка автодополнения хостов из ~/.ssh/config 💠Скрипт для автодополнения хостов 💠Автозапуск автокомплита 💠Добавление удобного алиаса для получения информации о подключении 🖼️ Прочитать статью на Habr'e 🔨 bash_help

⚙️ Как настроить автодополнение для команды ssh с хостами из .ssh/config ✔️Автодополнение — одна из самых полезных функций ко
⚙️ Как настроить автодополнение для команды ssh с хостами из .ssh/config ✔️Автодополнение — одна из самых полезных функций командной строки, позволяющая быстро подбирать подходящие аргументы или команды, просто нажав клавишу Tab. В этой статье вам расскажут, как настроить автодополнение для команды ssh, чтобы Bash подсказывал хосты, указанные в файле ~/.ssh/config. ➡️ Содержание: 💠Понять зачем это нужно 💠Настройка автодополнения хостов из ~/.ssh/config 💠Скрипт для автодополнения хостов 💠Автозапуск автокомплита 💠Добавление удобного алиаса для получения информации о подключении 🖼️ Прочитать статью на Habr'e 🔨 bash_help

🔥OS DevConf 25 powered by GigaChat — конференция про разработку системного ПО, ядра Linux и open source. Один день, 500 учас
🔥OS DevConf 25 powered by GigaChat — конференция про разработку системного ПО, ядра Linux и open source. Один день, 500 участников, 20+ докладов, 3 трека — концентрат практического опыта, знаний и инструментов, готовых к внедрению сразу по возвращению в офис. И, конечно, мега-возможности для нетворкинга с коллегами и экспертами сообщества! Что будем обсуждать? -Инструменты и примеры отладки, виртуализации, оптимизации производительности -Практический опыт оптимизации сетевых решений с DPDK -Эффективные методы безопасной разработки ядра Linux -Реальные кейсы создания драйверов на Rust -Все про GPU, NPU, ASIC и как запускать AI на железе под Linux и не только. Как AI встраивается в современную разработку -Современные подходы к разработке системного и embedded ПО Участие бесплатное, но количество мест ограничено — зарегистрируйтесь прямо сейчас 💻 #реклама О рекламодателе

⚙️ Скрипт для мониторинга использования диска и отправки оповещения, если оно превышает 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