TGViewer
Библиотека программиста (книги для разработчиков) Библиотека программиста (книги для разработчиков) @programmist_of · 20.7K subscribers
Post #2936 3.08K

Forwarded from Bash Советы

✨ Извлечение уникальных 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
  • 👍 3
More from @programmist_of
  1. Sep 29, 2026Как перейти от монолита к микросервисам без лишнего риска? 🎥 6 октября в 20:00 МСК на отк…
  2. Sep 28, 2026📚 40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learnin…
  3. Sep 24, 2026ИИ-система может отлично решать задачи бизнеса, но при этом оставаться уязвимой. Утечки да…
  4. Sep 22, 2026📚 Machine Learning Simplified: A Gentle Introduction to Supervised Learning (2022) ✍️ Авт…
  5. Sep 15, 2026📚 We, Programmers: A Chronicle of Coders from Ada to AI (2025) ✍️ Robert C. Martin Книга…
  6. Sep 6, 2026📚 Fluent Python Clear, Concise and Effective Programming, 2nd Edition (2022) ✍️Автор: Luc…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →