Bash Советы
رفتن به کانال در Telegram
🚀 Секреты и советы по Bash 🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале. 🔹 Автоматизация, скрипты и оптимизация работы в Linux. 🔹 Стать мастером Bash легко – просто подпишись! По всем вопросам @evgenycarter
نمایش بیشتر2 728
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-47 روز
-1130 روز
در حال بارگیری داده...
کانالهای مشابه
هیچ دادهای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسبها
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
سپتامبر '26
سپتامبر '26
+8
در 0 کانالها
اوت '26
+11
در 0 کانالها
Get PRO
ژوئیه '26
+16
در 0 کانالها
Get PRO
ژوئن '26
+20
در 1 کانالها
Get PRO
مه '26
+30
در 0 کانالها
Get PRO
آوریل '26
+52
در 2 کانالها
Get PRO
مارس '26
+42
در 2 کانالها
Get PRO
فوریه '26
+49
در 0 کانالها
Get PRO
ژانویه '26
+52
در 6 کانالها
Get PRO
دسامبر '25
+66
در 1 کانالها
Get PRO
نوامبر '25
+234
در 32 کانالها
Get PRO
اکتبر '25
+118
در 5 کانالها
Get PRO
سپتامبر '25
+220
در 37 کانالها
Get PRO
اوت '25
+198
در 5 کانالها
Get PRO
ژوئیه '25
+229
در 27 کانالها
Get PRO
ژوئن '25
+336
در 22 کانالها
Get PRO
مه '25
+452
در 45 کانالها
Get PRO
آوریل '25
+460
در 38 کانالها
Get PRO
مارس '25
+552
در 39 کانالها
Get PRO
فوریه '25
+1 149
در 3 کانالها
| تاریخ | رشد مشترکین | اشارات | کانالها | |
| 15 سپتامبر | 0 | |||
| 14 سپتامبر | +1 | |||
| 13 سپتامبر | 0 | |||
| 12 سپتامبر | 0 | |||
| 11 سپتامبر | +1 | |||
| 10 سپتامبر | 0 | |||
| 09 سپتامبر | 0 | |||
| 08 سپتامبر | +1 | |||
| 07 سپتامبر | +2 | |||
| 06 سپتامبر | 0 | |||
| 05 سپتامبر | +1 | |||
| 04 سپتامبر | 0 | |||
| 03 سپتامبر | +1 | |||
| 02 سپتامبر | +1 | |||
| 01 سپتامبر | 0 |
پستهای کانال
🕵️♂️ Мониторим новые файлы в каталоге в реальном времени
Иногда нужно узнать, когда в определённой папке появляются новые файлы. Bash + inotifywait помогут:
inotifywait -m -e create --format '%w%f' /path/to/dir | while read NEWFILE; do
echo "🆕 Новый файл: $NEWFILE"
done
📦 Объяснение:
• inotifywait -m - постоянный мониторинг
• -e create - событие создания
• —format '%w%f' - полный путь к новому файлу
• /path/to/dir - нужная папка
• Всё новое сразу отображается в консоли
Установить inotify-tools:
sudo apt install inotify-tools
📲 Мы в MAX
👉@bash_srv| 2 | 🧹 Bash-скрипт для очистки старых логов с уведомлением
Иногда логи занимают слишком много места, и их нужно периодически чистить. Этот скрипт удаляет логи старше 14 дней в заданной папке и шлёт уведомление на почту, если удалено более 500 МБ.
#!/bin/bash
LOG_DIR="/var/log"
DAYS=14
MAX_REMOVED_MB=500
EMAIL="admin@yourdomain.com"
# Подсчитываем общий размер файлов, которые будут удалены
REMOVED_SIZE=$(find "$LOG_DIR" -type f -mtime +$DAYS -print0 | du --files0-from=- -ch | grep total$ | awk '{print $1}')
REMOVED_SIZE_MB=$(echo $REMOVED_SIZE | sed 's/M//' | awk '{print int($1)}')
# Удаляем старые логи
find "$LOG_DIR" -type f -mtime +$DAYS -delete
# Если удалено больше MAX_REMOVED_MB, отправляем уведомление на почту
if [ "$REMOVED_SIZE_MB" -gt "$MAX_REMOVED_MB" ]; then
echo "Удалено логов на $REMOVED_SIZE из $LOG_DIR" | mail -s "Удаление логов" "$EMAIL"
fi
🔹 Что делает скрипт:
- Находит старые логи, считает их общий размер.
- Удаляет только если файлы старше 14 дней.
- Если удалено больше заданного лимита (по умолчанию 500 МБ) - уведомляет по почте.
Обрати внимание:
Для работы уведомления нужна установленная утилита mail (например, из пакета mailutils или sendmail).
📲 Мы в MAX
👉@bash_srv | 417 |
| 3 | 🚀 Мониторим активные подключения к серверу по SSH
Иногда нужно быстро узнать, кто сейчас подключён к серверу по SSH. Вот простой однострочный скрипт:
who | grep 'pts' | awk '{print $1, $2, $5}'
Что делает этот скрипт?
* who — выводит список всех вошедших пользователей.
* grep 'pts' — фильтрует только те строки, что связаны с терминалами SSH.
* awk '{print $1, $2, $5}' — красиво выводит имя пользователя, терминал и IP-адрес.
📋 Пример вывода:
admin pts/0 (192.168.1.55)
root pts/1 (10.0.0.23)
Теперь ты всегда в курсе, кто подключён к твоему серверу! 😉
📲 Мы в MAX
👉@bash_srv | 532 |
| 4 | 🚀 Полезный Bash-скрипт для архивации старых логов 🚀
Иногда логи на сервере растут быстрее, чем хочется, и начинают занимать всё свободное место. Предлагаю простой скрипт, который:
1. Находит файлы с расширением .log, изменённые более чем N дней назад.
2. Архивирует их в тарболл с датой.
3. Удаляет оригиналы после успешного архива.
#!/usr/bin/env bash
#
# Архивация старых логов >7 дней
# Сохраняет в /var/backups/logs/YYYY-MM-DD_logs.tar.gz
# Настройки
LOG_DIR="/var/log" # Каталог с логами
BACKUP_DIR="/var/backups/logs" # Куда складывать архивы
DAYS_OLD=7 # Возраст файлов в днях
# Создаём папку для бэкапов, если нет
mkdir -p "$BACKUP_DIR"
# Текущая дата
DATE=$(date '+%Y-%m-%d')
# Найти *.log старше N дней и упаковать в архив
find "$LOG_DIR" -type f -regextype posix-extended -regex ".*/[a-zA-Z0-9_-]+\.log$" \
-mtime +"$DAYS_OLD" -print0 | \
tar --null -czf "$BACKUP_DIR/${DATE}_logs.tar.gz" --files-from -
# Проверка успешности и удаление исходников
if [[ $? -eq 0 ]]; then
echo "✅ Архив создан: $BACKUP_DIR/${DATE}_logs.tar.gz"
# Удаляем старые логи
find "$LOG_DIR" -type f -regextype posix-extended -regex ".*/[a-zA-Z0-9_-]+\.log$" \
-mtime +"$DAYS_OLD" -delete
echo "🗑️ Оригиналы удалены."
else
echo "❌ Ошибка при создании архива!"
exit 1
fi
Как это работает
▪️find … -regextype posix-extended -regex ".*/[a-zA-Z0-9_-]+\.log$"
Использует регулярное выражение, чтобы найти все файлы с именами, состоящими из букв, цифр, подчёркиваний или дефисов, и оканчивающиеся на .log.
▪️Опция -mtime +7 выбирает файлы старше 7 дней.
▪️tar --null --files-from - позволяет безопасно работать с именами, содержащими пробелы.
▪️При успешном создании архива исходные файлы удаляются командой -delete в find.
❓ Совет:
Добавьте этот скрипт в cron, чтобы он выполнялся автоматически, например, каждый день в 2:00:
0 2 * * * /usr/local/bin/archive_logs.sh >> /var/log/archive_logs_cron.log 2>&1
👍 Надеюсь, пригодится!
📲 Мы в MAX
👉@bash_srv | 465 |
| 5 | ✨ Извлечение уникальных IP-адресов из логов Apache ✨
Иногда нужно быстро получить список всех клиентов, обращавшихся к вашему веб-серверу. Мини-скрипт на Bash с регулярным выражением поможет вытащить и сохранить все уникальные IP-адреса:
#!/usr/bin/env bash
# 📁 Файл логов Apache
LOG_FILE="/var/log/apache2/access.log"
# 📄 Файл для сохранения уникальных IP
OUT_FILE="/var/log/unique_ips_$(date +%F).txt"
# 🛠️ Извлекаем все IPv4, сортируем и убираем дубликаты
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' "$LOG_FILE" \
| sort \
| uniq > "$OUT_FILE"
echo "✅ Список уникальных IP-адресов сохранён в $OUT_FILE"
Как это работает
1. grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' — опция -E включает расширенные регулярки, -o выводит только совпадения. Регулярка ищет четыре числа от 0 до 999 через точки.
2. sort упорядочивает адреса для корректной работы uniq.
3. uniq удаляет повторяющиеся строки, оставляя только уникальные IP.
Совет по автоматизации
Если вы хотите ежедневно обновлять этот список, добавьте задачу в cron:
0 1 * * * /usr/local/bin/extract_ips.sh >> /var/log/extract_ips_cron.log 2>&1
Это запустит скрипт каждый день в 1:00 и сохранит результат с датой в имени файла.
📲 Мы в MAX
👉@bash_srv | 601 |
| 6 | 🗑️ Bash-совет дня: safe_rm - «корзина» для удаляемых файлов
Сколько раз вы случайно удаляли важный конфиг? Давайте сделаем rm более дружелюбным — вместо мгновенного уничтожения файлы будут складываться в «корзину» и автоматически очищаться спустя 30 дней.
#!/usr/bin/env bash
# safe_rm — перемещает удаляемые файлы в локальную «корзину»
TRASH_DIR="$HOME/.local/share/Trash/files" # куда складываем
mkdir -p "$TRASH_DIR"
stamp=$(date +%Y-%m-%d_%H-%M-%S)
for item in "$@"; do
if [[ ! -e $item ]]; then
printf '⚠️ %s: no such file or directory\n' "$item" >&2
continue
fi
mv -- "$item" "$TRASH_DIR/$(basename "$item")_$stamp"
done
# авто-очистка файлов, которым больше 30 дней
find "$TRASH_DIR" -type f -mtime +30 -delete 2>/dev/null
Быстрый старт
sudo install -m 755 safe_rm /usr/local/bin/
echo "alias rm='safe_rm'" >> ~/.bashrc && source ~/.bashrc
Проверяем
touch important.cfg
rm important.cfg
ls ~/.local/share/Trash/files # Файл на месте 🎉
Лайфхак:
• Хотите разные сроки хранения? Меняйте -mtime +30 на нужное количество дней.
• Регулярные выражения в find позволяют тоньше выбирать, что чистить (например, только логи *_$(date +%Y-%m-*)).
Спасайте нервы и конфиги! 😉
📲 Мы в MAX
👉@bash_srv | 678 |
| 7 | ⚙️ Bash: Мониторинг пользователей в системе в реальном времени
Иногда нужно понять, кто из пользователей сейчас в системе и что они делают. Встречай удобную команду на базе watch и w:
watch -n 2 w
📌 Что делает эта команда:
* watch -n 2 — каждые 2 секунды выполняет указанную команду
* w — показывает, кто залогинен, откуда, сколько времени в системе и что выполняет
👀 Отлично подходит для ситуаций:
* Отладка скриптов, когда нужно смотреть, кто подключается
* Мониторинг активности сотрудников или админов
* Выявление подозрительных сессий SSH
💡 А если хочешь видеть только логины, без подробностей:
watch -n 2 who
Полезно держать на втором экране или в отдельной вкладке терминала 🧠
📲 Мы в MAX
👉@bash_srv | 689 |
| 8 | Проверка открытых портов без использования netstat
Утилита netstat считается устаревшей (deprecated). В современных дистрибутивах Linux стандартом для диагностики сокетов является ss (socket statistics). Она работает быстрее и потребляет меньше ресурсов ядра.
Команда:
ss -tulpn
Ключи:
-t: TCP сокеты.
-u: UDP сокеты.
-l: Только слушающие (listening) сокеты.
-p: Показать процесс, использующий сокет (требует sudo).
-n: Не преобразовывать IP и порты в имена (выводит числа), что значительно ускоряет работу.
#network #ss #security
📲 Мы в MAX
👉@bash_srv | 739 |
| 9 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)
Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак
Английский с нуля 🇬🇧
https://max.ru/UchuEnglish
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Rust📌
https://max.ru/channel_rust_lib
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Городские📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
https://max.ru/channel_krasnodar_novosty Краснодар Новости
https://max.ru/channel_novosibirsk_novosti Новосибирск
https://max.ru/channel_samara_novosti Новости Самары
https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга
https://max.ru/channel_kazan_novosti Новости Казани
https://max.ru/channel_omsk_novosti Новости Омска
https://max.ru/channel_moskva_24 Москва 24 | 581 |
| 10 | Быстрая очистка содержимого файла без его удаления
Частая задача при администрировании это обнулить логи или конфигурационные файлы, сохранив права доступа и дескрипторы, если файл занят процессом.
Команда:
> filename.log
Или альтернативный вариант:
true > filename.log
Техническое пояснение:
Оператор > перенаправляет stdout в файл. Так как левая часть команды отсутствует (или равна true), в файл записывается пустая строка, что приводит к усечению файла до нулевого размера (truncate). Это безопаснее, чем удаление и создание файла заново, так как не меняется inode.
📲 Мы в MAX
👉@bash_srv | 584 |
| 11 | Использование «Strict Mode» в Bash-скриптах
По умолчанию Bash не останавливает выполнение скрипта при возникновении ошибок, что может привести к непредсказуемым последствиям в цепочках команд. Для повышения надежности скриптов рекомендуется начинать их со следующей конструкции.
Код:
#!/bin/bash
set -euo pipefail
Разбор параметров:
- set -e: Останавливает скрипт, если любая команда завершилась с ошибкой (код возврата не 0).
- set -u: Считает обращение к несуществующей переменной ошибкой и останавливает скрипт.
- set -o pipefail: Возвращает код ошибки, если хотя бы одна команда в конвейере (pipe) завершилась неудачно (по умолчанию Bash берет код возврата только последней команды).
📲 Мы в MAX
👉@bash_srv | 723 |
| 12 | 🔁 Как перезапускать сервис только если он завис?
Иногда не хочется перезапускать сервис "на всякий случай", но вот если он реально завис — другое дело. Вот простой способ проверять, активен ли сервис, и перезапускать его при зависании:
#!/bin/bash
SERVICE="nginx"
if ! systemctl is-active --quiet "$SERVICE"; then
echo "$(date): $SERVICE не активен, пробую перезапустить..." >> /var/log/service_monitor.log
systemctl restart "$SERVICE"
else
echo "$(date): $SERVICE работает нормально" >> /var/log/service_monitor.log
fi
🛠 Можно добавить в крон, например, проверку каждые 5 минут:
*/5 * * * * /usr/local/bin/check_nginx.sh
📁 Не забудь сделать скрипт исполняемым:
chmod +x /usr/local/bin/check_nginx.sh
💡 Можно заменить nginx на любой другой системный сервис.
📲 Мы в MAX
👉@bash_srv | 801 |
| 13 | 🔥 Bash-фишка дня: замена строк в файле без sed и awk
Иногда хочется быстро заменить строку в файле без сложных конструкций. Вот способ сделать это с чистым Bash и while read:
🛠 Скрипт: заменить слово в файле
#!/bin/bash
INPUT="config.txt"
OUTPUT="config_new.txt"
SEARCH="localhost"
REPLACE="127.0.0.1"
while IFS= read -r line; do
echo "${line//$SEARCH/$REPLACE}"
done < "$INPUT" > "$OUTPUT"
📌 Что тут происходит:
- IFS= read -r line — читаем файл построчно, без обрезки пробелов.
- ${line//$SEARCH/$REPLACE} — заменяем все вхождения $SEARCH на $REPLACE.
- Результат сохраняем в новый файл.
⚡️ Подходит, когда sed недоступен (да, бывает) или нужна более понятная логика замены.
📲 Мы в MAX
👉@bash_srv | 718 |
| 14 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)
Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак
Английский с нуля 🇬🇧
https://max.ru/UchuEnglish
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Rust📌
https://max.ru/channel_rust_lib
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Городские📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
https://max.ru/channel_krasnodar_novosty Краснодар Новости
https://max.ru/channel_novosibirsk_novosti Новосибирск
https://max.ru/channel_samara_novosti Новости Самары
https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга
https://max.ru/channel_kazan_novosti Новости Казани
https://max.ru/channel_omsk_novosti Новости Омска
https://max.ru/channel_moskva_24 Москва 24 | 635 |
| 15 | 🕵️ Ищем процессы, которые используют удалённые (удалённые, но не освобождённые) файлы
Бывает, что ты удаляешь лог или большой файл, а место на диске не освобождается? Это потому, что файл всё ещё открыт каким-то процессом! Вот скрипт, который найдёт таких «виновников»:
#!/bin/bash
echo "🔍 Ищем процессы, держащие открытые удалённые файлы..."
lsof | grep '(deleted)' | awk '{print $2}' | sort -u | while read -r pid; do
echo "PID: $pid | Команда: $(ps -p $pid -o comm=)"
done
📌 Как использовать:
chmod +x find_deleted.sh
./find_deleted.sh
💡 Подсказка: иногда помогает systemctl restart соответствующего сервиса, чтобы освободить место.
📲 Мы в MAX
👉@bash_srv | 636 |
| 16 | 🧠 Bash совет дня - Отслеживаем подозрительные sudo-команды в реальном времени 🕵️
Хочешь знать, кто и что запускает через sudo прямо сейчас? Настроим простой мониторинг:
#!/bin/bash
logfile="/var/log/auth.log"
tail -F "$logfile" | grep --line-buffered "sudo" | while read line; do
echo "[ALERT] 🔐 $(date): $line"
done
📌 Что делает:
- Следит за /var/log/auth.log в реальном времени.
- Отфильтровывает строки, связанные с sudo.
- Выводит каждое срабатывание с пометкой времени.
🔥 Пример вывода:
[ALERT] 🔐 2025-05-15 10:23:42: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bash
💡 Используй для:
- Мониторинга активности админов или подозрительных действий.
- Настройки моментального оповещения (можно расширить, чтобы слать в Telegram, Slack и т.д.).
📦 Можно оформить как systemd-сервис, чтобы монитор запускался автоматически.
📲 Мы в MAX
👉@bash_srv | 713 |
| 17 | $ sudo apt install holiday
Reading package lists... Done
Building dependency tree... Done
Устанавливается пакет: "День системного администратора"
✔ Серверы работают
✔ Мониторинг молчит
✔ Бэкапы актуальны
✔ Кофе горячий
✔ Пользователи не паникуют
Congratulations!
Happy SysAdmin Day! 🎉 | 856 |
| 18 | 🚀 Bash-совет дня: Быстрое сканирование открытых портов с помощью bash и /dev/tcp
Зачем ставить nmap, если можно быстро просканировать порты встроенными средствами bash? Вот простой однострочный скрипт:
for port in {20..1024}; do
(echo > /dev/tcp/127.0.0.1/$port) >/dev/null 2>&1 && echo "Порт $port открыт"
done
📌 Что делает скрипт:
* Использует встроенную возможность Bash подключаться к TCP-портам через псевдофайлы /dev/tcp/host/port.
* Проверяет диапазон портов от 20 до 1024 на локальной машине.
* Если порт доступен — выводит сообщение, что он открыт.
🔒 Можно заменить 127.0.0.1 на любой IP-адрес сервера в сети.
💡 Отличный способ быстро проверить, что открыто, когда нет доступа к полноценным утилитам.
📲 Мы в MAX
👉@bash_srv | 866 |
| 19 | 🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)
Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак
Английский с нуля 🇬🇧
https://max.ru/UchuEnglish
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Rust📌
https://max.ru/channel_rust_lib
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП | 842 |
| 20 | 🧠 Bash-совет дня: Проверка скорости интернет-соединения прямо из терминала
Если тебе нужно быстро проверить скорость интернета на сервере (например, VPS), не устанавливая громоздкие GUI-программы — вот решение:
#!/bin/bash
# Проверяем наличие speedtest-cli
if ! command -v speedtest &> /dev/null; then
echo "⏳ Устанавливаем speedtest-cli..."
apt update && apt install -y speedtest-cli # Для Debian/Ubuntu
# yum install -y speedtest-cli # Для RHEL/CentOS
fi
# Запускаем тест скорости
echo "🚀 Проверяем скорость интернет-соединения..."
speedtest
📝 Альтернатива без установки — через curl:
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -
📊 Удобно использовать при диагностике проблем с сетью, особенно на серверах в разных дата-центрах.
📲 Мы в MAX
👉@bash_srv | 646 |
