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

Реклама: @Kone4noVasya

Канал на бирже: https://telega.in/c/bash_help
Download Telegram
⚙️ Управление Linux-сервером — самая ценная инвестиция

✔️ В эпоху облаков настройка Linux-сервера своими руками кажется неким вымирающим искусством. Для непосвящённого человека даже bash-скрипты выглядят как заклинания, а коллеги проникаются уважением к сисадмину, как древние индейцы к своему шаману…

▶️Сейчас это «древнее искусство» вновь стало актуальным. История идёт по кругу — всё старое возвращается в новом виде. Запуск сервера на своём хостинге стал хорошей альтернативой облакам. Этому есть ряд причин, которые мы не будем подробно разбирать, только повторим вкратце: безопасность, свобода, контроль над своими данными, экономия финансов.

➡️ Содержание статьи:
▶️Старое или новое. Контроль или зависимость
▶️Сисадмины превратились в девопсов
▶️Потеря компетенций
▶️Базовые знания

🖼️ Дочитать статью на Habr'e

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Освой сети и командную строку с лучшими обучающими каналами

🤩 Network Admin - обучающий канал по сетевым технологиям

🤩 Network Admin | Guides - канал, где рассказывают полезную информацию про Windows/Linux

📱 BashTex - обучение работе с командной строкой
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Перенос дампа таблицы с одного mysql сервера на другой

✔️Возникла небольшая прикладная задача. Нужно было периодически с одного mysql сервера перекидывать дамп одной таблицы из базы на другой сервер в такую же базу. Решений этой задачи может быть много. Я взял и решил в лоб набором простых команд на bash. Делюсь с вами итоговым скриптом. Даже если он вам не нужен в рамках этой задачи, то можете взять какие-то моменты для использования в другой.
#!/bin/bash

# Дамп базы с заменой общего комплексного параметра --opt, где используется ключ --lock-tables на набор отдельных ключей, где вместо lock-tables используется --single-transaction
/usr/bin/mysqldump --add-drop-database --add-locks --create-options --disable-keys --extended-insert --single-transaction --quick --set-charset --routines --events --triggers --comments --quote-names --order-by-primary --hex-blob --databases database01 -u'userdb' -p'password' > /mnt/backup/sql/"$(date +%Y-%m-%d)"-database01.sql

# Из общего дампа вырезаю дамп только данных таблицы table01. Общий дамп тоже оставляю, потому что он нужен для других задач
/usr/bin/cat /mnt/backup/sql/"$(date +%Y-%m-%d)"-database01.sql | /usr/bin/awk '/LOCK TABLES `table01`/,/UNLOCK TABLES/' > /mnt/backup/sql/"$(date +%Y-%m-%d)"-table01.sql

# Сжимаю оба дампа
/usr/bin/gzip /mnt/backup/sql/"$(date +%Y-%m-%d)"-database01.sql
/usr/bin/gzip /mnt/backup/sql/"$(date +%Y-%m-%d)"-table01.sql

# Копирую дамп таблицы на второй сервер, аутентификация по ключам
/usr/bin/scp /mnt/backup/sql/"$(date +%Y-%m-%d)"-table01.sql.gz sshuser@10.20.30.45:/tmp

# Выполняю на втором сервере ряд заданий в рамках ssh сессии: распаковываю дамп таблицы, очищаю таблицу на этом сервере, заливаю туда данные из дампа
/usr/bin/ssh sshuser@10.20.30.45 '/usr/bin/gunzip /tmp/"$(date +%Y-%m-%d)"-table01.sql.gz && /usr/bin/mysql -e "delete from database01.table01; use database01; source /tmp/"$(date +%Y-%m-%d)"-table01.sql;"'

# Удаляю дамп
/usr/bin/ssh sshuser@10.20.30.45 'rm /tmp/"$(date +%Y-%m-%d)"-table01.sql'

▶️Скрипт простой, можно легко подогнать под свои задачи.

▶️Отдельно отмечу для тех, кто не в курсе, что можно вот так запросто тут же после подключения по ssh выполнять какие-то команды в автоматическом режиме. Это удобно и часто пригождается.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Скрипт для очистки кэша оперативной памяти

✔️Скрипт проверяет объём кэша в оперативной памяти и при превышении в 1Gb предлагает запустить очистку.

#!/bin/bash
# Скрипт проверяет объём кэша в оперативной памяти и при превышении в 1Gb предлагает запустить очистку

cache=$(free -m | grep Mem | awk '{print $6}')

echo "Кэшированно $cacheМб"

if [ $cache -ge 1000 ]
then
echo "Кэш более одного гигабайта"
echo ""
read -p "Почистить кэш? Y/n: " ansver
case $ansver in
[y,Y])
echo "Для запуска скрипта очистки, введите пароль SUDO пользователя"
sudo echo "Было занято в кеше ОЗУ"
free -m
sync
echo 1 | sudo tee -a /proc/sys/vm/drop_caches
sync
echo 2 | sudo tee -a /proc/sys/vm/drop_caches
sync
echo 3 | sudo tee -a /proc/sys/vm/drop_caches
echo "Стало свободно в ОЗУ"
free -m;;
[n,N])
echo "Вы отказались от чистки кэша";;
esac
else
echo "Достаточно свободной памяти"
fi


🐙 Перейти на Github

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

✔️Инструмент, обеспечивающий автозаполнение оболочек в стиле IDE

▶️Он поддерживает более 600 инструментов командной строки. Его можно установить с помощью npm.

➡️ Поддерживает такие оболочки, как bash, zsh, fish, pwsh и powershell.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как писать красивые и безопасные bash скрипты

✔️Добавить в начало скрипта:
set -euxo pipefail


➡️ Что всё это значит:
▶️set -e - прекращает выполнение скрипта если команда завершилась ошибкой, выводит в stderr строку с ошибкой. Обойти эту проверку можно добавив в пайплайн к команде true: mycommand | true.

▶️set -u - прекращает выполнение скрипта, если встретилась несуществующая переменная.

▶️set -x - выводит выполняемые команды в stdout перед выполненинем.

▶️set -o pipefail - прекращает выполнение скрипта, даже если одна из частей пайпа завершилась ошибкой. В этом случае bash-скрипт завершит выполнение, если mycommand вернёт ошибку, не смотря на true в конце пайплайна: mycommand | true.

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

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ ScanCannon — быстрая и эффективная разведка сетевых уязвимостей

✔️POSIX-совместимый скрипт на BASH, который помогает быстро исследовать большие сети, используя masscan для определения открытых портов, а затем nmap для получения подробной информации о системах и сервисах на этих портах.

➡️ Что умеет ScanCannon:
▶️Быстрое сканирование сети: массовое сканирование открытых портов с помощью masscan для покрытия больших сетей за короткое время.
▶️Глубокий анализ: использование nmap для получения подробной информации о системах и сервисах, работающих на открытых портах.
▶️POSIX-совместимость: работает на большинстве UNIX-подобных систем, включая Linux и macOS.
▶️Автоматизация: позволяет автоматизировать процесс сканирования и анализа для упрощения работы специалистов по безопасности.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Уже забыли, когда кодили что-то нестандартное?
Приглашаем тряхнуть стариной на бесплатном мини-курсе от Skillbox «Python для всех». Он состоит из практики чуть меньше чем полностью. За 4 дня мы создадим 4 проекта:

1️⃣ Бота для Telegram, который умеет переводить голос в текст
2️⃣ Бота для Telegram, который обрабатывает фотографии
3️⃣ Парсер, который извлекает данные с сайтов
4️⃣ Веб-сайт (с помощью фреймворка Flask)


В общем, прокачаете навыки, освежите память и наверняка узнаете что-то новое.
Регистрируйтесь: https://epic.st/WjPo7_?erid=2Vtzqw8YQ3D

🎁 А ещё подарки: персональная карьерная консультация, скидка 10 000 рублей на любой курс Skillbox и подборка полезных материалов.

Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
⚙️ Reverse Shell Generator

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

➡️ Что умеет?
▶️Генерирует команды для популярных языков: Python, Bash, Perl, PHP и других
▶️Поддерживает Windows, Linux и macOS.
▶️Позволяет задавать IP-адрес и порт для настройки соединения.
▶️Удобный CLI-интерфейс, который делает процесс максимально простым.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Делаем всё в терминале: от конвертации валют и до прогноза погоды

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

▶️Все скрипты из набора Bash-Snippets были полностью протестированы на MacOS и Linux. Большинство этих скриптов было протестировано на Windows 10. Скрипты не работают с Cygwin или Mysys2.

➡️ Установка для MacOS через homebrew, для Linux через linuxbrew:

▶️Все скрипты:
brew install bash-snippets # installs all tools


▶️Отдельные скрипты:
brew install bash-snippets --without-all-tools --with-newton --with-weather


➡️ Установка через Git:

▶️Для начала необходимо клонировать репозиторий:
git clone https://github.com/alexanderepstein/Bash-Snippets


▶️Затем нужно перейти в клонированную директорию:
cd Bash-Snippets


▶️Запустить скрипт управляемой установки, это позволит выбрать какие скрипты устанавливать:
./install.sh


▶️Установить все скрипты:
./install.sh all


▶️Установить отдельный скрипт, указав его имя:
./install.sh stocks


➡️ Скрипты
▶️Youtube-Viewer
▶️Weather
▶️Meme
▶️Qrify
▶️Short
▶️Cheat
▶️Cloudup
▶️Crypt
▶️Cryptocurrency
▶️Currency
▶️Geo
▶️Lyrics
▶️Movies
▶️Newton
▶️Siteciphers
▶️Stocks
▶️Taste
▶️Todo
▶️Transfer

🖼️ Перейти на сайт

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️Автоматизация процессов: освойте новые практики для DevOps и администраторов

Навык оптимизации рутинных задач скоро станет обязательным — он помогает сэкономить время и рабочие ресурсы.

❤️ В Слёрме собрали лучшие обучающие материалы, которые помогут вам быстро освоить CI/CD, IaC:

🔸CI/CD c Jenkins
🔸Gitlab CI/CD
🔸Cloud-инженер на примере AWS
🔸Terraform База
🔸Terraform Мега
🔸Ansible: Infrastructure as Code

Все программы актуальны в 2025 году, курсы ведут практикующие спикеры —  идеальный старт освоения новых инструментов автоматизации. 

Курсы подойдут: 
👉администраторам
👉инженерам
👉специалистам поддержки, мониторинга и ИБ. 

Посмотреть подборку и выбрать подходящий курс👉 здесь

#реклама
О рекламодателе
⚙️ Bash exporter

✔️Простой и минималистичный экспортер метрик Prometheus для скриптов на Bash, написанный на Go.

➡️ Некоторые параметры использования:
debug — уровень отладки лога
interval — интервал сбора метрик в секундах (по умолчанию 300)
labels — дополнительные метки (по умолчанию hostname, env)
path — путь к директории со скриптами Bash (по умолчанию /scripts)
prefix — префикс для метрик (по умолчанию bash)
web.listen-address — адрес, на котором выставлять метрики (по умолчанию :9300)

🐙 Перейти на Github

bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Мечтаешь о той самой работе в Big Tech, но никогда не проектировал системы? Или работаешь на галере с нулевым подходом к проектированию и не знаешь, а как разбираться в архитектуре приложений?

Знаешь, ведь я был таким же, как ты. Читал книги, смотрел курсы, но на работе не было той почвы, которая давала бы рост. А на всех ресурсах одни и те же проблемы: устаревшие подходы, зачитывание терминов без примеров и самое главное — минимум практики.

Я решил с этим покончить. Больше никаких недо-курсов, которые “готовят к собесу за один месяц с нуля”. Это невозможно, если ты не обладаешь базой. Но все реально, если разобраться в компонентах, которые составляют эти системы.

Приходи на мой Открытый Урок, где за час мы посмотрим на эти самые компоненты. А еще я расскажу про процесс проектирования в Big Tech и что такое system design секция.

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

ЗАПИСАТЬСЯ

PS: недавно проходил собес в один российский Big Tech. Результат можешь увидеть на скрине
⚙️ Polybar

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

➡️ Некоторые преимущества Polybar:
▶️высокая настраиваемость с широким спектром встроенных модулей
▶️поддержка нескольких мониторов и динамической конфигурации
▶️активное сообщество и обширная документация
▶️лёгкость и эффективное использование ресурсов.

▶️Конфигурационный файл Polybar находится в ~/.config/polybar/config.

➡️ Некоторые функции программы:
▶️отображение даты и времени
▶️раскладка клавиатуры и статус индикаторов; 4
▶️уровень подсветки
▶️управление громкостью
управление воспроизведением MPD и статус
▶️детали сетевого подключения
▶️пользовательское дерево меню
▶️индикатор нагрузки процессора.

🐙 Перейти на Github

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

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

80% практики
сопровождение куратора
финальный проект для портфолио — курс завершает проектная работа
сертификат или удостоверение о повышении квалификации

Старт: 17 февраля. Оставьте заявку на сайте или напишите нашему менеджеру @Codeby_Academy

Присоединяйтесь и узнайте все о Linux и смежном ПО: от основ командной строки до развертывания Kubernetes! 
⚙️ Starship

✔️Инструмент для настройки приглашения командной строки, который легко накатывается поверх zsh, fish, bash и прочего.

➡️ Особенности:
▶️Быстрая. Очень быстрая.
▶️Настраиваемая. Можно настроить каждый элемент командной строки
▶️Универсальная. Работает с любой оболочкой и в любой операционной системе
▶️Умная. Сразу показывает соответствующую информацию
▶️Много функций. Поддерживает все любимые инструменты
▶️Лёгкая. Быстрая установка — начать использовать программу можно в считанные минуты

➡️ Для работы Starship в терминале должен быть установлен шрифт Nerd Font (например, FiraCode Nerd Font), иначе некоторые специальные символы не будут отображаться нормально в приглашении командной строки.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ k1s — самая простая панель управления Kubernetes

✔️Минималистичная панель управления Kubernetes, показывающая текущее состояние ресурсов Kubernetes определённого типа в реальном времени. Инструмент состоит из сценария Bash примерно из 50 строк кода.

▶️Панель может отображать вид в реальном времени любого типа ресурсов в любом пространстве имён (или по всем пространствам имён). Для некоторых типов ресурсов выводится дополнительная информация, например текущее состояние для Pod и требуемое и фактическое количество реплик для Deployments.

➡️ k1s запускается прямо на локальной машине и использует обычную конфигурацию kubeconfig на машине. То есть по умолчанию подключается к тому же кластеру, к которому подключается kubectl.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет, меня зовут Артур (@artur_speaking). Я обычный техлид в Российской компании. Много лет я занимаюсь ИТ и принял решение двигаться дальше, решил релоцироваться в Лондон.

Уже почти 3 года я готовлюсь к собеседованиям в Европу. Делюсь своим опытом по релокации и о многом другом в моем чате @artur_speaking. Пощу без духоты и пафоса. Жду вас.
⚙️ Nginx Access Log Analyzer and Dashboard Generator

✔️Bash-скрипт, который анализирует логи доступа Nginx и генерирует подробную HTML-панель с ключевыми метриками, связанными с веб-трафиком, безопасностью и производительностью.

➡️ Скрипт анализирует логи и собирает такую информацию, как:
▶️Количество запросов. Общее число полученных запросов.
▶️Уникальные IP. Список уникальных клиентских IP, делающих запросы.
▶️Количество ошибок. Число HTTP-ошибок (например, 4xx, 5xx ошибки).
▶️Анализ безопасности. Обнаружение потенциальных проблем с безопасностью, включая попытки SQL-инъекции, обхода директорий и XSS-попытки.
▶️Самые частые IP и URL. Идентификация наиболее часто используемых IP-адресов и URL, что полезно для выявления возможных источников всплесков трафика или угроз безопасности.

➡️ В результате на выходе получается интерактивная HTML-панель, которую можно использовать для анализа трафика и мониторинга безопасности.

🐙 Перейти на Github

🔨 bash_help
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Свежие вакансии для разработчиков, которых нет на hh

Выбери своё направление и подпишись

🔽

1. Python

2. Java

3. React

4. JavaScript

5. Web 3.0

6. Back end

7. Data Engineer

8. IT продажи

9. IT поддержка

10. PHP

11. 1С 

12. GO

13. QA

14. Flutter

Полный список каналов IT-вакансий: @best_itjob и @it_rab
Please open Telegram to view this post
VIEW IN TELEGRAM