Bash Советы - Bash Scripting | Linux Terminal & Shell. Скрипты и Автоматизация задач. Командная строка для Sysadmin и DevOps. Уроки Баш, Zsh и CLI Tools. Unix Console.
IT и технологии · 21 января 2026 г.
✨ Извлечение уникальных IP-адресов из логов Apache ✨ — 21 января 2026 г. в 11:04:45.328
✨ Извлечение уникальных 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 и сохранит результат с датой в имени файла. 👉 @bash_srv

