Bash Советы - Bash Scripting | Linux Terminal & Shell. Скрипты и Автоматизация задач. Командная строка для Sysadmin и DevOps. Уроки Баш, Zsh и CLI Tools. Unix Console.
IT и технологии · 15 июля 2026 г.
💡 Bash-совет дня: Мониторинг открытых портов с выводом в Telegram — 15 июля 2026 г. в 07:33:02.173
💡 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 🔒 Будьте в курсе неожиданных открытий портов на своих серверах! 👉 @bash_srv

