ru
Feedback
BashMaster

BashMaster

Открыть в Telegram

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

Больше
8 730
Подписчики
Нет данных24 часа
+167 дней
+20530 день
Архив постов
⚙️ Postgresus ✔️Self-hosted инструмент для резервного копирования и мониторинга PostgreSQL базы данных. ➡️ Возможности: 💠соз
⚙️ Postgresus ✔️Self-hosted инструмент для резервного копирования и мониторинга PostgreSQL базы данных. ➡️ Возможности: 💠создание бекапов по расписанию для PostgreSQL 13-18; 💠уведомления в Telegram, Slack, Discord, если бекап сломался или база недоступна; 💠хранение бекапов локально, в S3 или Google Drive; 💠health check базы данных раз в минуту; 💠Apache 2.0 лицензия (полностью открытый); ➡️ Запуск через Docker:
docker run -d 
  --name postgresus 
  -p 4005:4005 
  -v ./postgresus-data:/postgresus-data 
  --restart unless-stopped 
  rostislavdugin/postgresus:latest
🐙 Перейти на Github 🔨 bash_help

Приглашаем на вебинар «Как упаковать инфраструктуру в сервис: vStack Cloud Panel» Когда: 11 декабря в 11:00 Спикер: Евгений К
Приглашаем на вебинар «Как упаковать инфраструктуру в сервис: vStack Cloud Panel» Когда: 11 декабря в 11:00 Спикер: Евгений Карпов, генеральный директор vStack На вебинаре мы покажем, как vStack Cloud Panel позволяет упаковать вычисления, хранилище и сеть в готовые облачные услуги с каталогом, тарифами и квотами - чтобы запускать и продавать их быстрее. Вы узнаете, как self-service и автоматизация помогают: 🔹Снизить количество тикетов и нагрузку на поддержку. 🔹Ускорить получение выручки (time-to-revenue). 🔹Превратить IaaS в управляемый и предсказуемый бизнес. Участие бесплатное, по предварительной регистрации. 🔗 Зарегистрироваться #реклама О рекламодателе

⚙️ Создание самодостаточных скриптов с автоматической обработкой ошибок и логированием ✔️Скрипты должны не только выполнять з
⚙️ Создание самодостаточных скриптов с автоматической обработкой ошибок и логированием ✔️Скрипты должны не только выполнять задачи, но и обрабатывать ошибки и логировать действия для контроля и анализа. В Bash можно интегрировать автоматическое логирование с обработкой ошибок для отладки, мониторинга и надежности в продакшене. ➡️ Пример кода:
#!/bin/bash

LOG_FILE="/var/log/my_script.log"

# Функция для логирования
log() {
    echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" >> $LOG_FILE
}

# Функция для обработки ошибок
error_exit() {
    log "Ошибка: $1"
    exit 1
}

# Основной процесс
log "Скрипт начался"

# Симуляция работы с проверкой ошибок
cp /nonexistent/file /tmp/ || error_exit "Не удалось скопировать файл"

# Если все прошло успешно
log "Скрипт завершен успешно"
➡️ Как это работает: 💠В примере создается функция log, которая записывает события в лог файл с временной меткой 💠Функция error_exit используется для немедленного выхода из скрипта при возникновении ошибки, что позволяет избежать выполнения дальнейших команд в случае неудачи 💠Скрипт копирует файл, но в случае ошибки (например, если файл не существует), он записывает ошибку в лог и завершает выполнение с кодом ошибки ▶️Подход полезен в производственных скриптах для выполнения задач и логирования для мониторинга и быстрого реагирования на проблемы. 🖼️ Ссылка на источник 🔨 bash_help

⚙️ Памятка по написанию сценариев Bash 🔨 bash_help
+3
⚙️ Памятка по написанию сценариев Bash 🔨 bash_help

⚙️ Почему /bin/sh ✔️В различных проектах часто используют НЕ /bin/bash, а /bin/sh, почему? Он же старый! ▶️/bin/sh или Dash (
⚙️ Почему /bin/sh ✔️В различных проектах часто используют НЕ /bin/bash, а /bin/sh, почему? Он же старый! ▶️/bin/sh или Dash (Debian Almquist Shell) - легковесная оболочка командной строки, предназначенная для замены более тяжеловесного Bash. Она была создана для ускорения процесса загрузки и выполнения скриптов в системе. Поэтому многие дистрибутивы Linux, такие как Debian и Ubuntu, используют Dash в качестве оболочки по умолчанию. ▶️Скрипты, написанные на /bin/sh, обычно используются для максимальной переносимости между различными Unix-подобными операционными системами. Оболочка /bin/sh представляет собой стандартную оболочку командной строки в Unix-подобных системах, которая должна быть доступна на всех таких системах. ▶️В то время как /bin/bash (Bourne-Again Shell) является расширенной оболочкой командной строки, которая предоставляет больше функций, чем /bin/sh. Она представляет собой улучшенную версию стандартной оболочки /bin/sh, что делает ее более мощной и удобной для использования. Когда скрипт написан на /bin/sh, он чаще всего будет работать на всех Unix-подобных системах, исключая специфичные возможности, предоставляемые /bin/bash. Но если в скрипте используются уникальные функции /bin/bash, то он может не работать на системах, где /bin/bash не является стандартной оболочкой. Поэтому использование /bin/sh в некоторых проектах может быть обусловлено требованием максимальной переносимости скрипта между различными Unix-подобными системами. 🖼️ Ссылка на источник 🔨 bash_help

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

⚙️ xonsh ✔️Кроссплатформенный язык оболочки и командный интерпретатор на основе Python. ▶️Он объединяет Python и оболочку bas
⚙️ 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

⚡️ YADRO×SPRINT OFFER: оффер для Network Engineer in Test за 3 дня! Хотите работать в команде, которая создаёт инфраструктуру
⚡️ 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 и вносите вклад в развитие сетевых технологий будущего!

⚙️ brightness-controller ✔️Простой bash‑скрипт для управления яркостью экрана в Linux‑системах. ▶️Скрипт запускается с параме
⚙️ 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

⚙️ Шпаргалка по функциям в Bash-скриптах 🔨 bash_help
⚙️ Шпаргалка по функциям в Bash-скриптах 🔨 bash_help

⛴️ Открыта регистрация на ICEBREAKER 2025. Участие бесплатно 12 декабря состоится NGENIX ICEBREAKER 2025 — онлайн-конференция
⛴️ Открыта регистрация на ICEBREAKER 2025. Участие бесплатно 12 декабря состоится NGENIX ICEBREAKER 2025 — онлайн-конференция, на которой эксперты расскажут, на чем сегодня строится доверие к облачным решениям. 🤖 Отдельный блок программы будет посвящен защите от ботов. Последние годы бот-атаки становятся все изощреннее и приносят много проблем владельцам веб-ресурсов. Эксперты расскажут про эволюцию методов детекции и классификацию ботов, защиту API, а приглашенный гость из компании «Комус» поделится реальными кейсами, как сегодня бизнес может страдать от автоматизированных угроз. Также в программе конференции: 🛡️ защита от DDoS- и продвинутых бот-атак;  📊 эволюция средств статистики и продвинутой аналитики;  💻 развитие российских продуктов ИБ и аттестация; 🔑 управление правами доступа; 💭 презентация нового облачного продукта для финтеха. 📍 12 декабря, 11:00  🔹Онлайн  🔹Бесплатно ЗАРЕГИСТРИРОВАТЬСЯ

⚙️ Bash Style Guide ✔️Минималистичное и чёткое руководство по читаемому, безопасному и портируемому Bash-коду. ➡️ Коротко, чт
⚙️ Bash Style Guide ✔️Минималистичное и чёткое руководство по читаемому, безопасному и портируемому Bash-коду. ➡️ Коротко, что советует автор: 💠Используй [[ ... ]] вместо [ — надёжнее. 💠foo() и local var=... — забудь про function. 💠Только $(...) — никаких обратных кавычек. 💠Не ls, а glob (*) и while read. 💠Арифметика? Только ((…)) и $((…)). 💠Переменные — всегда в кавычках: "$name". 💠Только табы. Только 80 символов в строке. ▶️Всё это с аргументами. Есть терминальная версия: curl style.ysap.sh/plain 🖼️ Перейти на сайт 🔨 bash_help

⚙️ Управление рабочими процессами c помощью timeout и wait для контроля параллельных задач ✔️Для управления несколькими парал
⚙️ Управление рабочими процессами 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

😵‍💫Loading… Падают продажи из-за долгой загрузки? Распродажи — злачный сезон только для тех, кто готов к пиковым нагрузкам.
😵‍💫Loading… Падают продажи из-за долгой загрузки? Распродажи — злачный сезон только для тех, кто готов к пиковым нагрузкам. Пользователи не станут ждать, если в приложении или на сайте в разы вырастет время загрузки. Чтобы не терять клиентов, подключайте сеть доставки контента от Selectel. Кроме ускорения загрузки, CDN поможет: 🔹 повысить позиции сайта в поисковой выдаче, 🔹 сэкономить на инфраструктуре, 🔹 обеспечить постоянную доступность сервиса, 🔹 защитить инфраструктуру от DDoS-атак. До 31 декабря можно подключить CDN от Selectel со скидкой до 50%. Скидка распространяется на дополнительный трафик и действует до конца июня. Единственное условие — подать заявку на участие в акции до конца года. Регистрируйтесь и ускорьте загрузку сайта с помощью CDN от Selectel со скидкой: https://slc.tl/pzk85 Реклама. АО "Селектел". erid: 2W5zFHRVJpQ

⚙️ 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 ПО Участие бесплатное, но количество мест ограничено — зарегистрируйтесь прямо сейчас 💻 #реклама О рекламодателе