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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Мониторинг производительности системы с помощью Bash и Python

✔️Создаём простой, но мощный инструмент для мониторинга производительности вашей системы.

➡️ Создаем Python скрипт для сбора данных:

▶️Создайте файл monitor.py и добавьте в него следующий код:
import psutil
import json

def get_system_stats():
stats = {
"cpu": psutil.cpu_percent(interval=1),
"memory": psutil.virtual_memory().percent,
"disk": psutil.disk_usage('/').percent
}
return json.dumps(stats)

if __name__ == "__main__":
print(get_system_stats())


▶️Этот скрипт собирает данные о загрузке процессора, использовании памяти и состоянии диска, и выводит их в формате JSON

➡️ Создаем Bash скрипт для вызова Python скрипта и обработки данных:

▶️Создайте файл monitor.sh и добавьте в него следующий код:
#!/bin/bash

# Запуск Python скрипта и сохранение результата в переменную
stats=$(python3 monitor.py)

# Извлечение данных из JSON
cpu=$(echo $stats | jq -r '.cpu')
memory=$(echo $stats | jq -r '.memory')
disk=$(echo $stats | jq -r '.disk')

# Вывод данных
echo "CPU Usage: $cpu%"
echo "Memory Usage: $memory%"
echo "Disk Usage: $disk%"


▶️ Не забудьте сделать скрипт исполняемым:
chmod +x monitor.sh


▶️Теперь, при запуске monitor.sh, вы получите информацию о состоянии системы в удобном виде

▶️Запуск скрипта:
./monitor.sh


▶️Результат:
CPU Usage: 12.3%
Memory Usage: 45.6%
Disk Usage: 67.8%


✔️Вы можете расширить этот скрипт, добавив отправку данных на удаленный сервер, логирование результатов в файл или даже настройку алертов при превышении определенных порогов

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍216🔥3😐1
⚙️ Удаление дубликатов строк в файле

✔️Скрипт удаляет дубликаты строк из файла input.txt и сохраняет результат в output.txt
#!/bin/bash

# Путь к файлу
FILE="input.txt"

# Удаление дубликатов строк и сохранение в новый файл
awk '!seen[$0]++' "$FILE" > "output.txt"


➡️ Особого внимания заслуживает использование команды awk. В конструкции !seen[$0]++ seen[$0] — это ассоциативный массив, в котором ключом является строка. Если строка встречается впервые, её значение в массиве будет равно 0, и она будет выведена.
При последующих вхождениях строки её значение увеличивается, и строка не выводится повторно. Более подробно о awk можно прочитать в man awk

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍86
Хотите научиться программировать на одном из самых мощных и востребованных языков? Запишитесь на бесплатный мини-курс Skillbox по разработке на C++ и создайте своё первое приложение всего за 5 дней: https://epic.st/pLs_T?erid=2VtzqxAoNf5

На мини-курсе вас ждут:
— Погружение в C++: даже если вы никогда не занимались программированием, всё равно поймёте основы языка и напишете своё первое финансовое приложение
— Доступ к материалам навсегда: смотрите видео в удобное время и повторяйте пройденный материал, когда потребуется
— Поддержка эксперта: общение со спикером и разбор ваших практических работ на вебинаре

Запишитесь на мини-курс и получите 5 чек-листов разработчика на C++, а также год бесплатного изучения английского языка!

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
3👍1😐1
⚙️ Relax-and-Recover — решение для аварийного восстановления и миграции систем на новое железо под управлением Linux

✔️Relax-and-Recover создает загрузочный образ. Этот образ может переразметить систему. После этого запускается восстановление из резервной копии. Возможно восстановление на другое оборудование. Поэтому Relax-and-Recover можно использовать и как инструмент миграции

➡️ В настоящее время Relax-and-Recover поддерживает различные загрузочные носители (включая ISO, PXE, ленту OBDR, USB или eSATA), разнообразные сетевые протоколы (включая sftp, ftp, http, nfs, cifs), а также множество стратегий резервного копирования (включая IBM TSM, CommVault, Micro Focus Data Protector, Symantec NetBackup, Bareos, Bacula, rsync, Borg)

▶️Решение Relax-and-Recover было разработано для простой настройки, не требует обслуживания и готово прийти на помощь в случае бедствия. Его характер "установил и забыл" устраняет любые оправдания для отсутствия решения по аварийному восстановлению

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥65
Уйти в пентест? Стать devops-инженером или системным администратором? 
Только вам решать, куда расти, если вы знаете Linux.

Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.

- 70% практики
- сопровождение куратора
- финальный проект для портфолио
- сертификат или удостоверение о повышении квалификации
- одна из самых низких цен на обучение

Запись до 18 августа (длительность 3,5 месяца)

@Codeby_Academy
+74994441750

Узнать подробнее
🔥42😐1
⚙️ Отрезаем расширение у файла

✔️Стандартный способ — использовать утилиту basename, который отрезает весь путь слева, а если указать дополнительный параметр, то дополнительно отрежет справа и суффикс.

➡️ Например пишем file.txt и суффикс .txt
basename file.txt .txt


▶️Получаем: file

➡️ Но можно обойтись внутренними преобразованиями в bash
filename=file.txt; echo ${filename%.*}


▶️Получаем: file

➡️ Или наоборот, отрезать имя файла и оставить только расширение:
filename=file.txt; echo ${filename##*.}


▶️Получаем: txt

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍137🔥6
erid: LjN8K1m7F

Хотите быть востребованным спецом в работе с Linux? Присоединяйтесь к курсу «Администрирование Nginx/Angie» и откройте для себя новые возможности:
- Настраивайте Angie и Nginx как фронт веб-серверы для любых приложений.
- Оптимизируйте серверную и клиентскую производительность.
- Конфигурируйте балансировщики нагрузки L4 (TCP, UDP) и L7 (HTTP/HTTPS).
- Управляйте логированием и оптимизируйте HTTPS-соединения.

🔝Эта программа, созданная при участии авторов Angie, идеально подходит для:
- Сисадминов Linux, стремящихся к профессиональному росту.
- Разработчиков веб-приложений, желающих освоить навыки DevOps.
- Администраторов и разработчиков компаний, переходящих на Angie в рамках импортозамещения.
🧐Оставляйте заявку сейчас: https://clck.ru/3CUWQC

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
3
⚙️ Как избежать перезаписи истории команд

➡️ Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым

Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды.

▶️Это можно исправить. Отредактируем файл .bashrc добавив в него строки:
shopt -s histappend

PROMPT_COMMAND='history -a'


✔️Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍10🔥6
⚙️ Настройка безопасности SSH соединения

✔️Настройка безопасности SSH соединения – залог спокойствия. Спокойствие бывает двух типов. Первое – это когда ты не знаешь о том что проблема есть. Так называемое “меньше знаешь – спокойнее спишь”. Второе и самое ценное – это когда ты знаешь что проблема есть, но она решена. И сегодня будет рассмотрен способ как обезопасить ваш SSH сервер.

▶️Далеко не все, установив линуксовый сервер, заморачиваются за то, чтобы как-то обезопасить на нём авторизацию. Во-первых — зачем? Ведь всё зачастую происходит в локальной сети, кто тут может пакостить? Во-вторых — как и кто может напакостить? Там же пароль длинною стотыщ символов, умрут перебирать. В свою очередь за настройку всяких fail2ban и подобных служб никто не заморачивается.

▶️Таки что в итоге может случиться? Чисто гипотетически к вам в локальную сеть может пробраться какой-нибудь зловред, который планомерно будет подбирать пароли. Чтобы не вызывать какую-то небывалую нагрузку и избежать срабатывания fail2ban и подобных служб, он будет делать попытки раз в минуту, или раз в 5 минут. Или раз в час, это не критично. Перебрать например пачку стандартных паролей от кучи всяких апплаенсов – вообще не проблема край за неделю. Если делать по одному запросу в час, 24*7 = 168 запросов за неделю. Достаточно солидный список кандидатов стандартных паролей. Если найдена хотя бы одна успешная комбинация, можно уже пытаться авторизоваться под рутом. Если получилось авторизоваться под рутом – можно подтаскивать на этот хост какой-нибудь пейлоад. На этом этапе количество вариантов векторов развития атаки стремится к бесконечности. А вы, если не заморачивались за защиту – даже и не узнаете что в ваших рядах самозванец.

➡️ Содержание статьи:
▶️Настройка безопасности SSH соединения – подготовка
▶️Закручиваем гайки
▶️Жестко прописываем IP адрес ssh сервера
▶️Изменяем порт SSH сервера
▶️Включаем только протокол второй версии
▶️Ограничиваем время предоставляемое для авторизации
▶️Ограничиваем количество попыток авторизации
▶️Включаем разделение прав пользователей
▶️Ограничиваем список доступа по SSH
▶️Отключаем пустые пароли
▶️Отключим список доверенных хостов
▶️Настройка безопасности SSH – Пробуем подключиться к серверу через Putty
▶️Настройка безопасности SSH – Ограничим допущенные к подключению IP адреса
▶️Настройка безопасности SSH – Проверяем авторизацию по паролю
▶️Настройка безопасности SSH – Заключение

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍93
Почему тупит Kafka?

Знаний об отправке/приёме сообщений не хватит, чтобы быстро найти причину просадки. Если хотите отказоустойчивую систему, которую легко дебажить, стоит разобраться в архитектуре Кафки. 

➡️На обновлённом курсе Слёрма «Apache Kafka для разработчиков» вы получите больше, чем просто настройка Kafka. Вы изучите архитектуру и логику работы с Kafka на примере бизнес-кейсов компаний: MovieFlix, GetTaxi, MyBank. 

За 8 недель вы:

✔️Поймете основы работы с Kafka и принципы построения архитектуры и бизнес-процессов
✔️Научитесь решать проблемы отправки/получения большого количества сообщений из разнородных систем
✔️Подготовитесь к собеседованиям на уровень пользователя Kafka

❗️Углублённый курс с практикой на Java и платформой Docker+Postgres.  

Спикеры:

🔥Всеволод Севостьянов. Staff Engineer в Lokalise
🔥Василий Калугин. Владелец корпоративного сервиса Apache Kafka в АО «ЭР-Телеком Холдинг»

⚡️Старт — 26 августа
Занять место на потоке — по ссылке

erid: LjN8JwiLi
🔥4👍1😐1
⚙️ Команда read в Linux с примерами

✔️Это руководство продемонстрирует использование команды чтения в Linux через терминал командной строки, предоставляя примеры практических приложений.

В среде команд Linux команда read предстает как простой, но мощный инструмент для создания и выполнения скриптов. Встроен изначально в системы Linux, read устраняет необходимость во внешних установках, оптимизируя процесс написания сценариев. Его основная роль заключается в захвате пользовательского ввода, перенося содержимое строки непосредственно в переменную. Эта функциональность делает ее краеугольным камнем в bash-скриптинге, сравнимой по полезности с командой echo и позиционными параметрами.

Универсальность read выходит за рамки простого сбора входных данных; она умело разбивает и назначает переменные оболочки, повышая гибкость скрипта. Независимо от того, разрабатываете ли вы сценарии взаимодействия с пользователем или реализуете тонкие функции, требующие ввода, read является незаменимым помощником. По мере изучения его возможностей вы получите представление о том, как он может улучшить ваше взаимодействие с командной строкой, сделав ваши скрипты более отзывчивыми и интерактивными.

➡️ Содержание статьи:
▶️Синтаксис команды чтения в Linux
▶️Общие параметры в команде чтения
▶️Практические примеры использования команды чтения в Linux
▶️Чтение пользовательского ввода
▶️Чтение нескольких значений
▶️Использование пользовательского запроса с помощью -p
▶️Скрытие ввода с помощью -s
▶️Чтение из файла
▶️Расширенное использование команды чтения в Linux
▶️Реализация тайм-аута для пользовательского ввода
▶️Чтение пользовательского ввода в цикле
▶️Обработка данных с разделителями
▶️Безопасное чтение паролей
▶️Условное выполнение на основе входных данных

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍103🔥3
👋 В Telegram появился канал от создателя NetworkAdmin.ru

Автор пишет про компьютерные технологии и их тенденции, гайды по ОС Windows/Linux, и немного о жизненных историях.

Подпишись: @networkadminru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2😐1
⚙️ Резервное копирование с ротацией бэкапов

✔️Возникла потребность сделать более улучшенную версию скрипта для создания бэкапа всего сервера (файлы нескольких сайтов и их БД ), а также загружать на FTP все это хозяйство c помощью cURL, так как на сервере не было установлен FTP клиент и установить его не было возможности. Также нужно было удалять на FTP сервере старые бэкапы, чтобы не засорялось место на диске.

➡️ Содержание статьи:
▶️Бэкап сайтов и Баз Данных
▶️Загрузка данных на FTP

🖼️ Прочитать статью

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍42
Ворвись в IT с Романом Сакутиным 

Онлайн-школы обещают небо в алмазах для всех начинающих айтишников. Но сколько в этом правды? Роман, айтишник с 10 летним опытом, сделал бесплатный симулятор разных айти профессий для полных новичков. 

В нём вы сможете пройти свой первый рабочий день под руководством наставника даже если вы абсолютный ноль и получить награду в конце. 

Играйте бесплатной в боте - https://t.me/break_into_it_bot?start=TG_IN_20082024

erid: LjN8KGWhZ
😐16👍5🔥1
⚙️ bash-httpd — веб-сервер, написанный на bash

✔️Веб-сервер всего в ~100 строках bash. Замена оболочки GNU.

➡️ Первая в мире (и, возможно, последняя) реализация микро веб-сервера.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥96👍3😐1
👉Используешь Nginx? Тогда узнай об Angie и его возможностях для своих проектов!

👨‍🎓 Спикер Николай Лавлинский - опытный разработчик, руководитель, преподаватель и автор каналов «Ускорение сайтов» и «Поддержка сайтов». Расскажет, основные отличия Angie — форка Nginx, чем он может быть интересен и как быстро перевести проект на этот продукт.

✔️Открытый урок нужен как воздух для администраторов Linux, веб-разработчиков и всех, кто использует Nginx в проектах. Приходи 29 августа в 19:00 : https://clck.ru/3CkRVv?erid=LjN8K67TR 

Пройдя курс Администрирование Nginx/Angie, вы сможете: 
Настраивать Angie и Nginx как фронт веб-серверы для любых приложений. 
Оптимизировать серверную и клиентскую производительность. 
Конфигурировать балансировщики нагрузки L4 (TCP, UDP) и L7 (HTTP/HTTPS).
Всего 3 месяца. Познакомьтесь с преподавателем.

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
4😐1
⚙️ Автоматическая синхронизация файлов между двумя директориями

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

# Директории для синхронизации
SOURCE_DIR="$HOME/source_directory"
DEST_DIR="$HOME/destination_directory"

# Синхронизация файлов
rsync -av --delete "$SOURCE_DIR/" "$DEST_DIR/"

# Уведомление о завершении
echo "Синхронизация завершена: $SOURCE_DIR -> $DEST_DIR"

➡️ Пояснение скрипта:

▶️Команда rsync -av --delete "$SOURCE_DIR/" "$DEST_DIR/" копирует все файлы и каталоги из исходной директории в целевую, удаляя при этом файлы в целевой директории, которых нет в исходной. Опция -av включает в себя детальное копирование и сохранение прав доступа, что особенно важно для администрирования систем и работы с важными данными.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97🔥4
Как развиваться в направлении DevOps? Вопрос, который актуален для многих DevOps-инженеров. Команда OTUS разработала программу обучения, которая поможет освоить лучшие практики и инструменты по управлению командой DevOps в рамках курса DevOps Lead.

🎓На курсе вы:

- прокачаете hard и soft skills, 
- освоите навыки менеджмента и управления, 
- погрузитесь в Tech Governance;
- разработаете свой собственный выпускной проект.

После обучения вы сможете претендовать на позицию DevOps Lead.

Старт 28 августа. Обучение продлится 5 месяцев. Опытные преподаватели-эксперты станут вашими наставниками.

🔥Для подписчиков канала доступен промокод на скидку при поступлении в группу обучения: devopslead10

👉Оставьте заявку и получите консультацию менеджера https://otus.pw/g3Li/?erid=LjN8KLSzx
Ознакомьтесь с подробной программой курса
1😐1
⚙️ Bats-core — система автоматизированного тестирования Bash

✔️Она предоставляет простой способ проверить, как ведут себя написанные вами программы UNIX.

➡️ Файл теста Bats — это скрипт Bash со специальным синтаксисом для определения тестовых случаев. Каждый тестовый случай представляет собой функцию с описанием.

▶️Bats наиболее полезен при тестировании программного обеспечения, написанного в Bash, но его можно использовать для тестирования любой программы UNIX.

▶️Тестовые случаи состоят из стандартных команд оболочки. Bats использует опцию errexit (set -e) Bash при запуске тестовых случаев. Если каждая команда в тестовом случае завершается с кодом состояния 0 (успех), тест проходит.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥32
Вебинар «Построение кибербезопасности в компании. Практика внедрения ИБ-решений»

Системный интегратор R-Style Softlab приглашает на вебинар, на котором будут освещены лучшие практики по обеспечению информационной безопасности. На вебинаре рассмотрят кейсы построения ИБ в производственных, государственных, медицинских компаниях.

В программе вебинара:

– Статистика и новости: яркие инциденты информационной безопасности на рынке за последние первое полугодие 2024 года.
– Уровни зрелости информационной безопасности.
– Аудит ИБ в компании: кейс по проведению аудита ИБ в компании, который помог найти нетипичные уязвимости в ИТ-системе производственной компании.
– Методика построения кибербезопасности и примеры ее применения в производственной, государственной, медицинской компаниях.
– Защита сетей: классификация систем сетевой безопасности, подходы к защите ядра сети
– Как увеличить эффективность NGFW: демонстрация решения

Вебинар будет полезен: директорам и специалистам по информационной безопасности, ИТ-директорам и системным администраторам.

27 августа, вторник, 10:00

Регистрация свободная
👍2