uk
Feedback
Bash Советы

Bash Советы

Відкрити в Telegram

🚀 Секреты и советы по Bash 🔹 Полезные трюки, хитрые однострочники и лайфхаки для работы в терминале. 🔹 Автоматизация, скрипты и оптимизация работы в Linux. 🔹 Стать мастером Bash легко – просто подпишись! По всем вопросам @evgenycarter

Показати більше
2 732
Підписники
-124 години
-67 днів
-2030 день
Архів дописів
⚙️ Bash: Мониторинг пользователей в системе в реальном времени Иногда нужно понять, кто из пользователей сейчас в системе и ч
⚙️ Bash: Мониторинг пользователей в системе в реальном времени Иногда нужно понять, кто из пользователей сейчас в системе и что они делают. Встречай удобную команду на базе watch и w:

watch -n 2 w
📌 Что делает эта команда: * watch -n 2 — каждые 2 секунды выполняет указанную команду * w — показывает, кто залогинен, откуда, сколько времени в системе и что выполняет 👀 Отлично подходит для ситуаций: * Отладка скриптов, когда нужно смотреть, кто подключается * Мониторинг активности сотрудников или админов * Выявление подозрительных сессий SSH 💡 А если хочешь видеть только логины, без подробностей:

watch -n 2 who
Полезно держать на втором экране или в отдельной вкладке терминала 🧠 📲 Мы в MAX 👉@bash_srv

Проверка открытых портов без использования 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

🚀 Подборка полезных 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

Быстрая очистка содержимого файла без его удаления Частая задача при администрировании это обнулить логи или конфигурационные файлы, сохранив права доступа и дескрипторы, если файл занят процессом. Команда:

> filename.log

Или альтернативный вариант:

true > filename.log

Техническое пояснение: Оператор > перенаправляет stdout в файл. Так как левая часть команды отсутствует (или равна true), в файл записывается пустая строка, что приводит к усечению файла до нулевого размера (truncate). Это безопаснее, чем удаление и создание файла заново, так как не меняется inode. 📲 Мы в MAX 👉@bash_srv

Использование «Strict Mode» в Bash-скриптах По умолчанию Bash не останавливает выполнение скрипта при возникновении ошибок, ч
Использование «Strict Mode» в Bash-скриптах По умолчанию Bash не останавливает выполнение скрипта при возникновении ошибок, что может привести к непредсказуемым последствиям в цепочках команд. Для повышения надежности скриптов рекомендуется начинать их со следующей конструкции. Код:

#!/bin/bash
set -euo pipefail

Разбор параметров: - set -e: Останавливает скрипт, если любая команда завершилась с ошибкой (код возврата не 0). - set -u: Считает обращение к несуществующей переменной ошибкой и останавливает скрипт. - set -o pipefail: Возвращает код ошибки, если хотя бы одна команда в конвейере (pipe) завершилась неудачно (по умолчанию Bash берет код возврата только последней команды). 📲 Мы в MAX 👉@bash_srv

🔁 Как перезапускать сервис только если он завис? Иногда не хочется перезапускать сервис "на всякий случай", но вот если он р
🔁 Как перезапускать сервис только если он завис? Иногда не хочется перезапускать сервис "на всякий случай", но вот если он реально завис — другое дело. Вот простой способ проверять, активен ли сервис, и перезапускать его при зависании:

#!/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

🔥 Bash-фишка дня: замена строк в файле без sed и awk Иногда хочется быстро заменить строку в файле без сложных конструкций.
🔥 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

🚀 Подборка полезных 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

🕵️ Ищем процессы, которые используют удалённые (удалённые, но не освобождённые) файлы Бывает, что ты удаляешь лог или большо
🕵️ Ищем процессы, которые используют удалённые (удалённые, но не освобождённые) файлы Бывает, что ты удаляешь лог или большой файл, а место на диске не освобождается? Это потому, что файл всё ещё открыт каким-то процессом! Вот скрипт, который найдёт таких «виновников»:

#!/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

🧠 Bash совет дня - Отслеживаем подозрительные sudo-команды в реальном времени 🕵️ Хочешь знать, кто и что запускает через su
🧠 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

$ sudo apt install holiday

Reading package lists... Done
Building dependency tree... Done
Устанавливается пакет: "День системного администратора" ✔ Серверы работают ✔ Мониторинг молчит ✔ Бэкапы актуальны ✔ Кофе горячий ✔ Пользователи не паникуют Congratulations! Happy SysAdmin Day! 🎉

🚀 Bash-совет дня: Быстрое сканирование открытых портов с помощью bash и /dev/tcp Зачем ставить nmap, если можно быстро проск
🚀 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

🚀 Подборка полезных 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 Питер Новости: Санкт-Петербург / СПБ / ДТП

🧠 Bash-совет дня: Проверка скорости интернет-соединения прямо из терминала Если тебе нужно быстро проверить скорость интерне
🧠 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

🎯 Проверка доступности списка хостов с цветным 🎨 выводом Иногда нужно быстро проверить, какие сервера "живые", а какие — не
🎯 Проверка доступности списка хостов с цветным 🎨 выводом Иногда нужно быстро проверить, какие сервера "живые", а какие — нет. Ниже написал удобный Bash-скрипт с цветным выводом в терминале 🖥️.

#!/bin/bash

# Список хостов
hosts=("192.168.0.1" "google.com" "yandex.ru" "192.168.0.100")

# Цвета
GREEN="\e[32m"
RED="\e[31m"
NC="\e[0m" # No Color

for host in "${hosts[@]}"; do
    if ping -c 1 -W 1 "$host" &> /dev/null; then
        echo -e "${GREEN}[UP]   $host${NC}"
    else
        echo -e "${RED}[DOWN] $host${NC}"
    fi
done
🔧 Просто добавь нужные IP или домены в массив hosts, и запусти. Удобно и наглядно! 📲 Мы в MAX 👉@bash_srv

🧠 Bash: Проверка доступности нескольких хостов одним скриптом Следишь за парком серверов? Этот скрипт покажет, какие машины
🧠 Bash: Проверка доступности нескольких хостов одним скриптом Следишь за парком серверов? Этот скрипт покажет, какие машины "живы", а какие — нет 🖥️❌

#!/bin/bash

# Список IP или хостнеймов
HOSTS=("192.168.0.1" "google.com" "server.local")

for HOST in "${HOSTS[@]}"; do
  if ping -c 1 -W 1 "$HOST" &> /dev/null; then
    echo "[✅] $HOST доступен"
  else
    echo "[❌] $HOST недоступен"
  fi
done
📌 Что делает: * ping -c 1 -W 1 — один пинг с таймаутом в 1 секунду * Выводит результат по каждому хосту 🔥 Можно запускать по крону или вручную, если нужно быстро понять, где беда. 📲 Мы в MAX 👉@bash_srv

🔥Проверка статуса нескольких сервисов systemd за один раз Когда нужно быстро проверить, работают ли нужные сервисы - этот од
🔥Проверка статуса нескольких сервисов systemd за один раз Когда нужно быстро проверить, работают ли нужные сервисы - этот однострочник спасёт:

for svc in nginx mysql sshd; do systemctl is-active --quiet $svc && echo "$svc ✅" || echo "$svc ❌"; done
📌 Замените nginx mysql sshd на нужные вам сервисы. Скрипт выведет статус каждого: * ✅ — сервис активен * ❌ — сервис не работает 🚀 Удобно засунуть в alias или в мониторинг! 📲 Мы в MAX 👉@bash_srv

💡 Bash-совет дня: Мониторинг открытых портов с выводом в Telegram Автоматизируй контроль за безопасностью своего сервера! Эт
💡 Bash-совет дня: Мониторинг открытых портов с выводом в Telegram Автоматизируй контроль за безопасностью своего сервера! Этот простой bash-скрипт проверяет изменения в открытых портах и шлёт уведомление в Telegram, если появились новые или исчезли старые порты.

#!/bin/bash

# Настройки
TG_TOKEN="your_bot_token"
TG_CHAT_ID="your_chat_id"
PORTS_FILE="/var/tmp/open_ports_last.txt"

# Получаем текущие открытые порты
ss -tuln | awk 'NR>1 {print $5}' | cut -d: -f2 | sort -n | uniq > /tmp/open_ports_now.txt

# Если нет предыдущего файла — создаём
if [ ! -f "$PORTS_FILE" ]; then
    cp /tmp/open_ports_now.txt "$PORTS_FILE"
    exit 0
fi

# Сравниваем с предыдущим состоянием
DIFF=$(diff -u "$PORTS_FILE" /tmp/open_ports_now.txt)

# Если есть изменения — шлём в Telegram
if [ -n "$DIFF" ]; then
    MESSAGE="⚠️ Обнаружены изменения в открытых портах:\n\`\`\`\n$DIFF\n\`\`\`"
    curl -s -X POST "https://api.telegram.org/bot$TG_TOKEN/sendMessage" \
        -d chat_id="$TG_CHAT_ID" \
        -d parse_mode="Markdown" \
        -d text="$MESSAGE"

    cp /tmp/open_ports_now.txt "$PORTS_FILE"
fi

# Уборка
rm -f /tmp/open_ports_now.txt
📌 Как использовать: 1. Замените your_bot_token и your_chat_id на свои значения. 2. Добавьте в cron, чтобы проверять, например, каждые 10 минут:

*/10 * * * * /path/to/script.sh
🔒 Будьте в курсе неожиданных открытий портов на своих серверах! 📲 Мы в MAX 👉@bash_srv

🔐 Как найти файлы с открытыми правами (777) - быстро и просто! Иногда на сервере появляются файлы и каталоги с правами 777,
🔐 Как найти файлы с открытыми правами (777) - быстро и просто! Иногда на сервере появляются файлы и каталоги с правами 777, что представляет угрозу безопасности. Найдём их одной командой:

find / -type f -perm 0777 2>/dev/null
📁 А если нужно проверить директории:

find / -type d -perm 0777 2>/dev/null
🔍 Пояснение: / - путь, где искать (можно заменить на /var, /home и т.д.) -type f / -type d — искать только файлы или директории -perm 0777 - права доступа 2>/dev/null - убираем лишние ошибки (например, от Permission denied) 💡 Лучше запускать от root для полной картины. 📲 Мы в MAX 👉@bash_srv

🔁 Циклический мониторинг статуса сервиса с логированием Иногда нужно следить за работой сервиса в режиме реального времени и
🔁 Циклический мониторинг статуса сервиса с логированием Иногда нужно следить за работой сервиса в режиме реального времени и при сбое — сразу зафиксировать проблему. Вот простой скрипт, который будет каждые 30 секунд проверять статус сервиса и писать лог при ошибке:

#!/bin/bash

SERVICE="nginx"
LOGFILE="/var/log/${SERVICE}_monitor.log"
INTERVAL=30

while true; do
    if ! systemctl is-active --quiet "$SERVICE"; then
        echo "$(date '+%Y-%m-%d %H:%M:%S') ❌ $SERVICE is down" >> "$LOGFILE"
        # можно добавить уведомление (например, через телеграм-бота или почту)
    else
        echo "$(date '+%Y-%m-%d %H:%M:%S') ✅ $SERVICE is running" >> "$LOGFILE"
    fi
    sleep "$INTERVAL"
done
📌 Скрипт можно добавить в screen или tmux сессию и запустить на сервере - он будет вести лог доступности нужного сервиса. 🛡️ Подходит для мониторинга nginx, mysql, sshd и других системных демонов. 📲 Мы в MAX 👉@bash_srv