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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ 19 полезных shell-скриптов на все случаи жизни

✔️Командная строка и те невообразимые вещи, которые с ее помощью можно творить, — визитная карточка UNIX и всех ее наследников. А где есть командная строка, там есть скрипты. И сегодня... нет, мы не будем учиться писать скрипты, мы рассмотрим наиболее полезные из них, те, что ты сможешь применять ежедневно для решения самого разного круга задач, начиная от сводки погоды и веб-сервера в одну строку и заканчивая ботом для твиттера в десять строк и скриптом для автоматического запуска любого торрент-клиента.

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

➡️ Содержание статьи
💠Простые примеры
💠Десктоп
💠Google, Twitter, Dropbox и торренты
💠Вместо выводов

🖼️ Дочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
📡 Ты в ИБ? Тогда тебе к нам.

@svplatform — новости, вебинары, практические разборы.

Без спама. Только по делу.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Bash-скрипт для мониторинга использования процессора и памяти в Linux

✔️Bash-скрипт может использоваться для проверки производительности системы в реальном времени, а также для сбора статистики использования с течением времени. Скрипт может собирать информацию об использовании из файла /proc/stat, а затем сохранять ее в логах.

▶️Скрипт также можно настроить на отправку оповещения по электронной почте, если загрузка ЦП или памяти превышает определенный порог.

▶️Кроме того, скрипт может использоваться для запроса информации из системы, такой как модель ЦП, использование и средние значения нагрузки. С помощью этой информации скрипт может использоваться для создания отчетов и графиков, которые предоставляют обзор использования системы.

➡️ Простой скрипт непрерывного мониторинга ЦП и памяти в Linux, показанный ниже, — отличный способ отслеживать производительность вашей системы:

#!/bin/bash
# This script monitors CPU and memory usage

while :
do
# Get the current usage of CPU and memory
cpuUsage=$(top -bn1 | awk '/Cpu/ { print $2}')
memUsage=$(free -m | awk '/Mem/{print $3}')

# Print the usage
echo "CPU Usage: $cpuUsage%"
echo "Memory Usage: $memUsage MB"

# Sleep for 1 second
sleep 1
done

▶️Сохраните указанный выше скрипт в текстовый файл, сделайте его исполняемым и запустите.

➡️ Ниже приведены другие инструменты/команды, которые можно использовать для мониторинга использования ЦП и памяти в системе Linux:
💠free: команда показывает общий объем свободной и используемой физической и подкачиваемой памяти в системе, а также буферов и кэшей, используемых ядром.
💠top: команда обеспечивает динамический просмотр работающей системы в реальном времени. Она может отображать сводную информацию о системе, а также список задач, которые в данный момент управляются ядром Linux.
💠htop: интерактивный просмотрщик процессов для Linux. Это текстовое приложение, которое отображает информацию о процессах в удобном для пользователя виде.
💠vmstat: команда выводит информацию о процессах, памяти, подкачке, блочном вводе-выводе, ловушках и активности ЦП.
💠ps: команда используется для отображения информации о текущих запущенных процессах.
💠iostat: команда выводит статистику ЦП и статистику ввода/вывода для устройств и разделов.

🖼️ Ссылка на источник

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Bash-скрипт для подключения к Wi-Fi

✔️Этот bash-скрипт упрощает процесс подключения к сетям Wi-Fi в системе Linux. Cкрипт предназначен для работы в системах Linux с NetworkManager и nmcli.

#!/bin/bash

# Function to display available Wi-Fi SSIDs
list_wifi_networks() {
echo "Available Wi-Fi Networks:"
nmcli dev wifi list
}

# Function to connect to a Wi-Fi network
connect_to_wifi() {
echo "Enter the name (SSID) of the Wi-Fi network you want to connect to:"
read ssid

echo "Enter the password for the Wi-Fi network:"
read -s password

# Use nmcli to connect to the specified Wi-Fi network
sudo nmcli dev wifi connect "$ssid" password "$password"
}

# Display available Wi-Fi networks (function call)
list_wifi_networks

# Option to connect to a Wi-Fi network
echo "Do you want to connect to a Wi-Fi network? (yes/no):"
read choice

if [ "$choice" = "yes" ]; then
#call connect wifi function
connect_to_wifi
else
echo "No network connection requested. Exiting."
fi


▶️Скрипт использует команду
nmcli, которая представляет собой клиент командной строки для NetworkManager. С помощью этого скрипта вы можете легко получить список доступных сетей Wi-Fi и подключиться к сети, указав SSID и пароль.

🐙 Подробнее на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ beeps

✔️Репозиторий содержит коллекцию bash-скриптов для воспроизведения музыки через динамик ПК с помощью команды beep.

▶️В репозитории представлены сценарии для воспроизведения различных музыкальных треков, например, aerodynamic.sh, alarm.sh, carramelldansen.sh и других.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Работаете с VDI? Хотите узнать, как безопасно организовать удаленные рабочие места в 2025?

Атаки типа Living off the Land делают использование классических ОС опасными. Но именно на таких системах работают самые распространенные тонкие клиенты для доступа к VDI. Есть ли альтернативное решение, сочетающее защищенность и управляемость?

29 мая, 11:00 — круглый стол с экспертами Tonk, Space VDI и «Лаборатории Касперского».

Реальные кейсы. Без теории. Только практический опыт.

Регистрируйтесь!
⚙️ Android-Apps-and-Data-Backup-and-Restore-Linux-Bash-Script

✔️Bash-скрипт для полного резервного копирования приложений и данных устройства Android. Он позволяет создавать резервные копии и восстанавливать данные, используя инструмент ADB (Android Debug Bridge).

➡️ Описание скрипта:
💠Скрипт выполняет инкрементальное резервное копирование. Он проверяет, есть ли уже файлы резервных копий в текущем каталоге, и при необходимости пропускает их. Сохраняются только новые приложения и недостающие данные.
💠Если добавить параметр -shared, то скрипт будет копировать данные с SD-карты. По умолчанию он не включает содержимое карты памяти.

➡️ Как использовать скрипт
💠Включить отладку по USB на устройстве.
💠Создать новый каталог на компьютере, например MyDevice.
💠Скопировать скрипт backupAndRestoreAndroidDevide.sh в MyDevice и перейти в этот каталог.
💠Подключить устройство к компьютеру через ADB в режиме отладки, например, с помощью USB-кабеля.
💠Запустить скрипт для создания резервной копии: bash backupAndRestoreAndroidDevide.sh backup.
💠Дождаться завершения процесса.
💠Подключить устройство для восстановления данных и запустить скрипт для восстановления: bash backupAndRestoreAndroidDevide.sh restore

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Если вы работаете с сетями, мониторингом, DevOps или администрированием — стоит заглянуть на Конференцию GetNet .

➡️ 6 июня в 11:00
Онлайн бесплатно, рега тут
Офлайн в Москве с бесплатным трансфером от метро

✔️Что будет:
▶️Практические доклады, часть уже выложена на сайте
▶️Темы: сети, безопасность, автоматизация, отказоустойчивость
▶️Возможность пообщаться, задать вопросы, обсудить подходы

Полезно, если хочется выйти за рамки привычных команд и услышать, как с теми же задачами справляются другие.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Extraterm

✔️Открытый эмулятор терминала, который поддерживает оболочки bash, zsh и fish.

➡️ Некоторые особенности Extraterm:
💠Два режима: нормальный и курсорный. В первом режиме работает традиционный эмулятор терминала, во втором можно перемещаться по экрану курсором, как в текстовом редакторе.
💠Редактирование с несколькими курсорами. Этот режим позволяет редактировать текст, который уже находится на экране, и готовить сложные команды.
💠Интеграция с оболочками. Она открывает такие возможности, как создание кадров вокруг вывода команд, повторное использование вывода команд и редактирование текста на месте.
💠Поддержка кросс-платформенности. Работает в Linux, macOS и Windows (с использованием Cygwin).

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Амбициозные проекты, удалёнка и рост в сфере DevOps — звучит как работа мечты! Отправляйте резюме до 8 июня и присоединяйтесь к команде YADRO! 🧑‍💻

Как получить оффер за 3 дня? Подробности на карточках выше — листайте!

Оставляйте заявку — мы ждём именно вас!
⚙️ i3lock-fancy

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

➡️ Некоторые преимущества i3lock-fancy:
💠улучшает эстетику стандартного i3lock за счёт размытия и возможностей настройки;
💠легко устанавливается и используется с минимальными зависимостями;
💠поддерживает несколько мониторов и разные разрешения экрана;
💠позволяет настраивать значки и цветовые схемы.

➡️ Некоторые опции скрипта:
-h, --help — выводит меню помощи
-d, --desktop — пытается минимизировать все окна перед блокировкой;
-g, --greyscale — устанавливает серый фон вместо цветного;
-p, --pixelate — пикселирует фон вместо размытия, работает быстрее;
-f <имя шрифта>, --font <имя шрифта> — устанавливает собственный шрифт;
-t <текст>, --text <текст> — устанавливает собственное текстовое приглашение;
-l, --listfonts — выводит список возможных шрифтов для использования с -f/--font;
-n, --nofork — не создаёт дочерний процесс i3lock после запуска.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
7 популярных мифов о Service mesh, которые мешают вам его освоить 🚫

Service mesh окружен заблуждениями, из-за которых многие его боятся внедрять или считают бесполезным:

«У него огромный оверхед из-за нагрузки на систему»
«Для разработчика это лишнее, пусть DevOps разбираются»
«Зачем он нужен, если есть API Gateway?
И многое другое.

Собрали противоречивые утверждения в одном файле и разобрались, где – правда, а где – миф.

📌 Забирайте полезный материал у бота-помощника в один клик.

erid: 2W5zFFzBU6t
⚙️ Bash + Telegram: мониторинг сервера и мгновенные уведомления

✔️В этой статье будет рассказано о том, как написать bash-скрипт для отправки мгновенных уведомлений об активности на сервере в Telegram.

➡️ Что нам потребуется:
💠Установить fail2ban
💠Установить curl
💠Создать telegram бота, получить его токен и chat_id (это идентификатор чата, куда нам будут приходить сообщения)

▶️Для начала установим fail2ban и curl
sudo apt update
sudo apt install fail2ban curl

▶️После установки Fail2ban не настроен по умолчанию для активной защиты. Однако, он уже включает в себя некоторые предустановленные конфигурации и фильтры, которые можно использовать. Если вы хотите подробнее узнать о его работе, то обратитесь к официальной документации.

▶️Создадим пустой файл в каталоге
touch ~/usr/local/bin/telegram_notification.sh


▶️Приступим к написанию самого скрипта
#!/bin/bash 

# Замените на ваш токен и chat_id
TOKEN="123456789:ABCDEFGHIJKLMN_OPQRSTUVWXYZ123456"
CHAT_ID="987654321"

# Функция для отправки сообщения в Telegram
send_telegram_message() {
local message="$1"
curl -s -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
-d "chat_id=$CHAT_ID" \
-d "text=$message" \
-d "parse_mode=HTML"
}

# Переменная для отслеживания времени последнего уведомления о неудачных попытках и блокировках
last_failed_time=0
# Время (1 день) через которое следует посылать уведомления о неудачных попытках входа
track_time_range=86400

# Функция для проверки и отправки уведомлений о неудачных попытках и блокировках
check_failed_attempts() {
current_time=$(date +%s)
# Проверка, прошло ли больше суток с последнего уведомления
if (( current_time - last_failed_time >= track_time_range )); then
# Получаем информацию о неудачных попытках и блокировках за последние сутки
failed_attempts=$(grep "Failed password" /var/log/auth.log | wc -l)
bans=$(grep "Ban" /var/log/fail2ban.log | wc -l)

# Формируем сообщение
message=" Статистика за последние сутки:\n"
message+=" Неудачных попыток входа: $failed_attempts\n"
message+=" Заблокированных IP: $bans"

# Отправляем сообщение
send_telegram_message "$message"
last_failed_time=$current_time
fi
}

# Отслеживание логов аутентификации и Fail2Ban
tail -F /var/log/auth.log /var/log/fail2ban.log | while read line; do
# Проверка на успешные попытки входа
if echo "$line" | grep "Accepted password" &> /dev/null; then
send_telegram_message " Успешный вход: $line"
fi

# Проверка на неудачные попытки входа
if echo "$line" | grep "Failed password" &> /dev/null; then
check_failed_attempts
fi

# Проверка на заблокированные IP-адреса
if echo "$line" | grep "Ban" &> /dev/null; then
check_failed_attempts
fi
done

▶️Стоит заострить свое внимание на нескольких моментах:
tail -F /var/log/auth.log /var/log/fail2ban.log | while read line;

▶️Команда tail -F отслеживает все изменения в log файлах и через pipe (|) передает их в цикл while, где изменения записываются в переменную line. В дальнейшем, цикл пробегается по условиям и формирует статистику неудачных попыток входа, а в случае удачной попытки, сообщение об этом немедленно отправляется в телеграмм.

▶️Теперь осталось запустить данный скрипт. Для простоты, воспользуемся командой nohup. Эта команда позволяет запускать процессы, игнорируя сигнал HUP (hangup). Это полезно, когда вы хотите, чтобы процесс продолжал работать даже после выхода из системы или закрытия терминала. Однако, лучшей альтернативой будет использование systemd или supervisor.

▶️Чтобы запустить команду с использованием nohup, просто добавьте nohup перед командой:
nohup telegram_notification.sh &

▶️Теперь проверим, работает ли наш скрипт
ps aux |  telegram_notification*

▶️В окне терминала, должен отобразиться запущенный процесс и его PID. Теперь вы будете получать уведомления о удачных и неудачных попытках входа по ssh на ваш сервер.

🖼️ Статья на Habr'e

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Если у вас в пятницу всё ещё нет плана, кроме “не трогать прод”, можно добавить пункт “не дать никому обновить ядро”.
➡️А если всё-таки хочется приключений — 6 июня будет конференция GetNet.

Там собираются те, кто тоже не верит, что «ничего не сломается» — и делятся своими историями про сети, мониторинг, эксплуатацию.
✔️Формат — оффлайн в Москве или онлайн бесплатно по реге, так что можно даже с утра пингануть и потом спокойно слушать чужие фаерволлы.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Automated Hardening Framework for Ubuntu

✔️Набор bash-скриптов, который предназначен для автоматического усиления безопасности серверов Ubuntu.

▶️Цель проекта — минимизировать уязвимости системы, следуя лучшим практикам безопасности.

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

➡️ Некоторые особенности скриптов:
💠Автоматическое развёртывание инструментов безопасности. Например, установка Fail2Ban для защиты от атак грубой силы, Auditd для мониторинга изменений в критических системных файлах.
💠Интеграция OpenSCAP. Скрипты автоматизируют процесс сканирования системы по руководству SCAP Security Guide, чтобы оценить соответствие стандартам безопасности.
💠Генерация отчётов. После выполнения скриптов создаются подробные отчёты о соответствии системы стандартам и уязвимостях.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM