Открытый канал ID 69348317104642

Bash Советы - Bash Scripting | Linux Terminal & Shell. Скрипты и Автоматизация задач. Командная строка для Sysadmin и DevOps. Уроки Баш, Zsh и CLI Tools. Unix Console.

Реклама Tg t.me/evgenycarter

Укроти командную строку. Пишем эффективные Bash-скрипты для сервера и десктопа. Магия текстовой обработки: Grep, Sed, Awk и регулярные выражения (Regex). Настройка окружения: Zsh, Fish, Vim, Tmux. Автоматизация через Cron и Systemd. Работа с SSH, логами и процессами. Полезные команды (Curl, Wget, Tar) и пайплайны (Pipes). Лучшие практики написания кода и отладки.

Каналов в рубрике
1 730
Место этого канала
№ 27
Открыть рубрику →

Публикации за период

По реакциям

Поиск и вся лента — после бесплатной регистрации. Свои даты — по подписке; владелец канала видит их бесплатно. Сортировка по реакциям — по подписке. Зарегистрироваться

Загрузка…

🔍 Поиск текста во множестве файлов — быстро и точно!

Если нужно найти, где в проекте встречается определённая строка (например, DB_PASSWORD), не лезь в каждый файл руками!
Используй мощную связку grep:

grep -rnw '/путь/к/папке' -e 'DB_PASSWORD'

📌 Пояснение:

* -r — рекурсивный поиск по подкаталогам.
* -n — показать номер строки.
* -w — искать точное слово (не подстроку).
* -e — указывает, что дальше идёт выражение для поиска.

💡 Хочешь исключить определённые директории, например .git?

grep -rnw --exclude-dir={.git,node_modules} '/путь/к/папке' -e 'DB_PASSWORD'

Незаменимо при отладке конфигов и аудите секрета в коде! 😉

👉 @bash_srv
Просмотры: 191
Перейти в пост Открыть в MAX Сообщить о неточности
🧠 Регулярки на практике: как вытащить IP-адреса из логов

Когда нужно быстро достать все IP-адреса из логов — тебе на помощь приходит grep + регулярные выражения 💪

Пример:

grep -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' /var/log/nginx/access.log

🔍 Что делает:

-o — выводит только совпадения, без строки целиком
-E — расширенные регулярки
\b([0-9]{1,3}\.){3}[0-9]{1,3}\b — паттерн для IPv4

📌 Пример вывода:

192.168.0.1
10.0.0.55
172.16.100.7


🛡️ Хочешь избавиться от дубликатов?

grep -oE '\b([0-9]{1,3}\.){3}[0-9]{1,3}\b' /var/log/nginx/access.log | sort -u

📁 Подходит для Apache, Nginx, sshd и других логов, где есть IP.

👉 @bash_srv
Просмотры: 452
Перейти в пост Открыть в MAX Сообщить о неточности
ИИ пишет скрипты, разбирает логи и режет видео. Но половина кода так и остаётся в чате

«Нейросети | AI-агентура» — канал для тех, кто собирает себе рабочих ИИ-агентов, а не коллекцию подписок.

Здесь ты найдешь:
— подробный гайд по сравнению моделей Claude;
— готовые ТЗ на ботов, каждый собирается за вечер;
— локальные модели: что влезает на одну карту, а что в браузер;
— приемы добавления точности в ответах нейросетей;
— 99 рабочих рецептов от Anthropic;
— разбор необычных ситуации в мире ИИ

Подпишись на канал, чтобы не пропустить новые лайфхаки:
👉 https://max.ru/channel_ai_agentura
erid: 2W5zFGaS1xu

Рекламный пост

Просмотры: 503
Перейти в пост Открыть в MAX Сообщить о неточности
🧹 Bash совет дня: удаляем пустые директории рекурсивно 🧹

Когда на сервере скапливаются лишние пустые папки — это не только мусор, но и потенциальная головная боль при навигации и поиске. Вот простой способ зачистить их:

#!/bin/bash

# Путь, в котором нужно очистить пустые папки
TARGET_DIR="/var/www/html"

# Удаляем все пустые директории, включая вложенные
find "$TARGET_DIR" -type d -empty -delete

echo "✅ Все пустые директории удалены из $TARGET_DIR"

🔍 Как это работает:
• find ищет все папки (-type d), которые пусты (-empty) и удаляет их (-delete).
• Работает рекурсивно, удаляя даже вложенные пустые директории.

📅 Можно запускать из cron раз в неделю, например:

0 3 * * 0 /opt/scripts/clean_empty_dirs.sh

👌 Удобно, когда на сервере регулярно создаются временные папки, которые потом остаются без содержимого.

👉 @bash_srv
Просмотры: 710
Перейти в пост Открыть в MAX Сообщить о неточности
🔥 Бэкап базы данных MySQL с автоматической ротацией 🔄

Если у тебя есть сервер с MySQL/MariaDB, автоматический бэкап с ротацией — must have для спокойной жизни 😌

Вот простой скрипт, который:

1. Делает дамп всех баз
2. Сохраняет в архив с датой
3. Удаляет архивы старше N дней

#!/bin/bash
# автор: https://t.me/bash_srv

# Папка для бэкапов
BACKUP_DIR="/opt/backups/mysql"
# Кол-во дней хранения
RETENTION_DAYS=7
# Дата для имени файла
DATE=$(date +'%Y-%m-%d_%H-%M')

# Учетные данные
DB_USER="root"
DB_PASS="mypassword"

mkdir -p "$BACKUP_DIR"

# Делаем дамп
mysqldump -u"$DB_USER" -p"$DB_PASS" --all-databases | gzip > "$BACKUP_DIR/mysql_backup_$DATE.sql.gz"

# Удаляем старые бэкапы
find "$BACKUP_DIR" -type f -name "*.gz" -mtime +$RETENTION_DAYS -delete

echo "✅ Бэкап MySQL завершён: $DATE
"

🛠 Рекомендуется повесить в крон, например, на каждый день в 3:00:

0 3 * * * /path/to/backup_mysql.sh

👀 Теперь бэкапы всегда под контролем, а лишние файлы не засоряют диск.

👉 @bash_srv
Просмотры: 957
Перейти в пост Открыть в MAX Сообщить о неточности
ВКонтакте Телеграм Одноклассники
Избранное в datool.ru

Следите за каналом в личном кабинете

Зарегистрируйтесь в datool.ru, чтобы добавить канал «Bash Советы - Bash Scripting | Linux Terminal & Shell. Скрипты и Автоматизация задач. Командная строка для Sysadmin и DevOps. Уроки Баш, Zsh и CLI Tools. Unix Console.» в избранное и отслеживать его показатели.

Зарегистрироваться
Для владельцев каналов

Подтвердите свой канал

Войдите или зарегистрируйтесь в datool.ru, затем добавьте нашего бота в канал по инструкции в личном кабинете. После проверки владения замок исчезнет и вам станет доступно управление каналом.

Войти или зарегистрироваться

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти