BashMaster
رفتن به کانال در Telegram
Удобные консольные наработки на каждый день для разработчиков, девопсов и сисадминов. Реклама: @Kone4noVasya Канал на бирже: https://telega.in/c/bash_help
نمایش بیشتر8 730
مشترکین
-224 ساعت
+27 روز
+21030 روز
آرشیو پست ها
8 731
⚡⚡⚡Как развиваться в направлении DevOps? Вопрос, который актуален для многих DevOps-инженеров. Команда OTUS разработала программу обучения, которая поможет освоить лучшие практики и инструменты по управлению командой DevOps в рамках курса DevOps Lead.
🎓На курсе вы:
- прокачаете hard и soft skills,
- освоите навыки менеджмента и управления,
- погрузитесь в Tech Governance;
- разработаете свой собственный выпускной проект.
После обучения вы сможете претендовать на позицию DevOps Lead.
Старт 28 августа. Обучение продлится 5 месяцев. Опытные преподаватели-эксперты станут вашими наставниками.
🔥Для подписчиков канала доступен промокод на скидку при поступлении в группу обучения: devopslead10
👉Оставьте заявку и получите консультацию менеджера https://otus.pw/g3Li/?erid=LjN8KLSzx
Ознакомьтесь с подробной программой курса
8 731
⚙️ Автоматическая синхронизация файлов между двумя директориями
✔️Скрипт для 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_help8 731
👉Используешь 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.
8 731
⚙️ bash-httpd — веб-сервер, написанный на bash
✔️Веб-сервер всего в ~100 строках bash. Замена оболочки GNU.
➡️ Первая в мире (и, возможно, последняя) реализация микро веб-сервера.
🐙 Перейти на Github
🔨 bash_help
8 731
Ворвись в IT с Романом Сакутиным
Онлайн-школы обещают небо в алмазах для всех начинающих айтишников. Но сколько в этом правды? Роман, айтишник с 10 летним опытом, сделал бесплатный симулятор разных айти профессий для полных новичков.
В нём вы сможете пройти свой первый рабочий день под руководством наставника даже если вы абсолютный ноль и получить награду в конце.
Играйте бесплатной в боте - https://t.me/break_into_it_bot?start=TG_IN_20082024
erid: LjN8KGWhZ
8 731
⚙️ Резервное копирование с ротацией бэкапов
✔️Возникла потребность сделать более улучшенную версию скрипта для создания бэкапа всего сервера (файлы нескольких сайтов и их БД ), а также загружать на FTP все это хозяйство c помощью cURL, так как на сервере не было установлен FTP клиент и установить его не было возможности. Также нужно было удалять на FTP сервере старые бэкапы, чтобы не засорялось место на диске.
➡️ Содержание статьи:
▶️Бэкап сайтов и Баз Данных
▶️Загрузка данных на FTP
🖼️ Прочитать статью
🔨 bash_help
8 731
👋 В Telegram появился канал от создателя NetworkAdmin.ru
Автор пишет про компьютерные технологии и их тенденции, гайды по ОС Windows/Linux, и немного о жизненных историях.
✅Подпишись: @networkadminru
8 731
⚙️ Команда read в Linux с примерами
✔️Это руководство продемонстрирует использование команды чтения в Linux через терминал командной строки, предоставляя примеры практических приложений.
В среде команд Linux команда
read предстает как простой, но мощный инструмент для создания и выполнения скриптов. Встроен изначально в системы Linux, read устраняет необходимость во внешних установках, оптимизируя процесс написания сценариев. Его основная роль заключается в захвате пользовательского ввода, перенося содержимое строки непосредственно в переменную. Эта функциональность делает ее краеугольным камнем в bash-скриптинге, сравнимой по полезности с командой echo и позиционными параметрами.
Универсальность read выходит за рамки простого сбора входных данных; она умело разбивает и назначает переменные оболочки, повышая гибкость скрипта. Независимо от того, разрабатываете ли вы сценарии взаимодействия с пользователем или реализуете тонкие функции, требующие ввода, read является незаменимым помощником. По мере изучения его возможностей вы получите представление о том, как он может улучшить ваше взаимодействие с командной строкой, сделав ваши скрипты более отзывчивыми и интерактивными.
➡️ Содержание статьи:
▶️Синтаксис команды чтения в Linux
▶️Общие параметры в команде чтения
▶️Практические примеры использования команды чтения в Linux
▶️Чтение пользовательского ввода
▶️Чтение нескольких значений
▶️Использование пользовательского запроса с помощью -p
▶️Скрытие ввода с помощью -s
▶️Чтение из файла
▶️Расширенное использование команды чтения в Linux
▶️Реализация тайм-аута для пользовательского ввода
▶️Чтение пользовательского ввода в цикле
▶️Обработка данных с разделителями
▶️Безопасное чтение паролей
▶️Условное выполнение на основе входных данных
🖼️ Дочитать статью
🔨 bash_help8 731
Почему тупит Kafka?
Знаний об отправке/приёме сообщений не хватит, чтобы быстро найти причину просадки. Если хотите отказоустойчивую систему, которую легко дебажить, стоит разобраться в архитектуре Кафки.
➡️На обновлённом курсе Слёрма «Apache Kafka для разработчиков» вы получите больше, чем просто настройка Kafka. Вы изучите архитектуру и логику работы с Kafka на примере бизнес-кейсов компаний: MovieFlix, GetTaxi, MyBank.
За 8 недель вы:
✔️Поймете основы работы с Kafka и принципы построения архитектуры и бизнес-процессов
✔️Научитесь решать проблемы отправки/получения большого количества сообщений из разнородных систем
✔️Подготовитесь к собеседованиям на уровень пользователя Kafka
❗️Углублённый курс с практикой на Java и платформой Docker+Postgres.
Спикеры:
🔥Всеволод Севостьянов. Staff Engineer в Lokalise
🔥Василий Калугин. Владелец корпоративного сервиса Apache Kafka в АО «ЭР-Телеком Холдинг»
⚡️Старт — 26 августа
Занять место на потоке — по ссылке
erid: LjN8JwiLi
8 731
⚙️ Настройка безопасности SSH соединения
✔️Настройка безопасности SSH соединения – залог спокойствия. Спокойствие бывает двух типов. Первое – это когда ты не знаешь о том что проблема есть. Так называемое “меньше знаешь – спокойнее спишь”. Второе и самое ценное – это когда ты знаешь что проблема есть, но она решена. И сегодня будет рассмотрен способ как обезопасить ваш SSH сервер.
▶️Далеко не все, установив линуксовый сервер, заморачиваются за то, чтобы как-то обезопасить на нём авторизацию. Во-первых — зачем? Ведь всё зачастую происходит в локальной сети, кто тут может пакостить? Во-вторых — как и кто может напакостить? Там же пароль длинною стотыщ символов, умрут перебирать. В свою очередь за настройку всяких
fail2ban и подобных служб никто не заморачивается.
▶️Таки что в итоге может случиться? Чисто гипотетически к вам в локальную сеть может пробраться какой-нибудь зловред, который планомерно будет подбирать пароли. Чтобы не вызывать какую-то небывалую нагрузку и избежать срабатывания fail2ban и подобных служб, он будет делать попытки раз в минуту, или раз в 5 минут. Или раз в час, это не критично. Перебрать например пачку стандартных паролей от кучи всяких апплаенсов – вообще не проблема край за неделю. Если делать по одному запросу в час, 24*7 = 168 запросов за неделю. Достаточно солидный список кандидатов стандартных паролей. Если найдена хотя бы одна успешная комбинация, можно уже пытаться авторизоваться под рутом. Если получилось авторизоваться под рутом – можно подтаскивать на этот хост какой-нибудь пейлоад. На этом этапе количество вариантов векторов развития атаки стремится к бесконечности. А вы, если не заморачивались за защиту – даже и не узнаете что в ваших рядах самозванец.
➡️ Содержание статьи:
▶️Настройка безопасности SSH соединения – подготовка
▶️Закручиваем гайки
▶️Жестко прописываем IP адрес ssh сервера
▶️Изменяем порт SSH сервера
▶️Включаем только протокол второй версии
▶️Ограничиваем время предоставляемое для авторизации
▶️Ограничиваем количество попыток авторизации
▶️Включаем разделение прав пользователей
▶️Ограничиваем список доступа по SSH
▶️Отключаем пустые пароли
▶️Отключим список доверенных хостов
▶️Настройка безопасности SSH – Пробуем подключиться к серверу через Putty
▶️Настройка безопасности SSH – Ограничим допущенные к подключению IP адреса
▶️Настройка безопасности SSH – Проверяем авторизацию по паролю
▶️Настройка безопасности SSH – Заключение
🖼️ Дочитать статью
🔨 bash_help8 731
⚙️ Как избежать перезаписи истории команд
➡️ Если открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым
Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды.
▶️Это можно исправить. Отредактируем файл
.bashrc добавив в него строки:
shopt -s histappend
PROMPT_COMMAND='history -a'
✔️Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash
🔨 bash_help8 731
erid: LjN8K1m7F
✅Хотите быть востребованным спецом в работе с Linux? Присоединяйтесь к курсу «Администрирование Nginx/Angie» и откройте для себя новые возможности:
- Настраивайте Angie и Nginx как фронт веб-серверы для любых приложений.
- Оптимизируйте серверную и клиентскую производительность.
- Конфигурируйте балансировщики нагрузки L4 (TCP, UDP) и L7 (HTTP/HTTPS).
- Управляйте логированием и оптимизируйте HTTPS-соединения.
🔝Эта программа, созданная при участии авторов Angie, идеально подходит для:
- Сисадминов Linux, стремящихся к профессиональному росту.
- Разработчиков веб-приложений, желающих освоить навыки DevOps.
- Администраторов и разработчиков компаний, переходящих на Angie в рамках импортозамещения.
🧐Оставляйте заявку сейчас: https://clck.ru/3CUWQC
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
8 731
⚙️ Отрезаем расширение у файла
✔️Стандартный способ — использовать утилиту
basename, который отрезает весь путь слева, а если указать дополнительный параметр, то дополнительно отрежет справа и суффикс.
➡️ Например пишем file.txt и суффикс .txt
basename file.txt .txt▶️Получаем:
file
➡️ Но можно обойтись внутренними преобразованиями в bash
filename=file.txt; echo ${filename%.*}
▶️Получаем: file
➡️ Или наоборот, отрезать имя файла и оставить только расширение:
filename=file.txt; echo ${filename##*.}
▶️Получаем: txt
🔨 bash_help8 731
Уйти в пентест? Стать devops-инженером или системным администратором?
Только вам решать, куда расти, если вы знаете Linux.
Курс "Основы Linux" обучит вас тонкостям работы с ОС: от работы в командной строке до создания прикладных программ.
- 70% практики
- сопровождение куратора
- финальный проект для портфолио
- сертификат или удостоверение о повышении квалификации
- одна из самых низких цен на обучение
Запись до 18 августа (длительность 3,5 месяца)
@Codeby_Academy
+74994441750
Узнать подробнее
8 731
⚙️ 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_help8 731
Хотите научиться программировать на одном из самых мощных и востребованных языков? Запишитесь на бесплатный мини-курс Skillbox по разработке на C++ и создайте своё первое приложение всего за 5 дней: https://epic.st/pLs_T?erid=2VtzqxAoNf5
На мини-курсе вас ждут:
— Погружение в C++: даже если вы никогда не занимались программированием, всё равно поймёте основы языка и напишете своё первое финансовое приложение
— Доступ к материалам навсегда: смотрите видео в удобное время и повторяйте пройденный материал, когда потребуется
— Поддержка эксперта: общение со спикером и разбор ваших практических работ на вебинаре
Запишитесь на мини-курс и получите 5 чек-листов разработчика на C++, а также год бесплатного изучения английского языка!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
8 731
⚙️ Удаление дубликатов строк в файле
✔️Скрипт удаляет дубликаты строк из файла
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_help8 731
Как просить о повышении зарплаты и не испытывать неловкости от этого разговора?
Решили посмотреть на эту ситуацию со стороны работника и со стороны компании.
Присоединяйтесь к вебинару — он поможет вам понять, как подготовиться к разговору о повышении зарплаты.
→ Бесплатно, 14 августа в 19:00 мск
Вы узнаете:
— как понять, что уже можно просить повышения и чего от него ожидать;
— как подготовиться к разговору и как его начать;
— какие аргументы использовать и что точно не стоит говорить;
— как устроен и как проходит процесс повышения зарплаты в компаниях.
Спикеры:
◾️Дмитрий Самофалов — руководитель проектов поддержки изменений «Газпром нефти», преподаёт продуктовый подход в IThub
◾️Екатерина Меркулова — руководитель продукта в стартапе clatch.app экосистемы МТС
◾️Серафима Свердлова — карьерный консультант, HR-менеджер в IT-компании
→ Зарегистрироваться на вебинар
8 731
⚙️ Мониторинг производительности системы с помощью 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
8 731
👾 Где практиковаться этичному хакингу?
Codeby Games предлагает тебе уникальную возможность отточить свои навыки пентеста, решая задачи, приближенные к боевым!
- Более 50 уязвимых машин на Windows и Linux
- Более 300 CTF заданий
- Регулярные обновления
- Самое отзывчивое комьюнити
Огромное количество практики в любой из областей информационной безопасности:
🌐 Web-эксплуатация
🔑 Криптография
🕵️♂️ Форензика
🔍 OSINT
🖼 Стеганография
👨💻 PWN
⚙️ Реверс-инжиниринг
🎟 Active Directory
Присоединяйся к Codeby Games и окунись в мир инфобеза уже сегодня!
👉 Codeby Games
Приятного хакинга!
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
