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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
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
👍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