Задание 7: Финальный проект по Bash-скриптингу
ЗАВЕРШЕНИЕ МОДУЛЯ BASH-СКРИПТИНГА!
Финальный проект: Анализатор логов веб-сервера
Задание 7 объединяет ВСЕ изученные команды в одном полноценном проекте!
Что требовалось:
- Написать скрипт для анализа access.log веб-сервера
- Подсчитать количество уникальных IP-адресов
- Вывести ТОП-5 IP-адресов по количеству запросов
- Найти строки с HTTP 404 и сохранить в отдельный файл
- Объединить команды: grep, awk, sort, uniq, условия и циклы
Что выполнено:
- Создан анализатор логов
log_analyzer.sh- полноценный скрипт для DevOps - Тестовый файл
access.logс 13 записями веб-сервера - Подсчет уникальных IP: 7 уникальных адресов
- ТОП-5 активных IP: с количеством запросов каждого
- Поиск ошибок 404: найдено 3 ошибки, сохранены в
errors_404.log - Расширенная статистика: коды ответов, HTTP методы, популярные страницы
- Демо-скрипт
bash_commands_demo.shс пошаговыми примерами - Объединение ВСЕХ команд: grep → awk → sort → uniq → head
Файлы финального проекта:
-
task-7/log_analyzer.sh- основной анализатор логов -
task-7/access.log- тестовые данные веб-сервера -
task-7/errors_404.log- автоматически созданный файл с ошибками -
task-7/bash_commands_demo.sh- демонстрация техник объединения команд -
task-7/README.md- полная документация проекта
Результаты работы анализатора: $ ./log_analyzer.sh access.log === Анализ логов веб-сервера ===
Уникальных IP-адресов: 7
ТОП-5 IP-адресов по количеству запросов: 3 192.168.1.2 3 192.168.1.1 2 10.0.0.2 2 10.0.0.1 1 192.168.1.4
Найдено ошибок HTTP 404: 3 Строки с ошибками HTTP 404 сохранены в errors_404.log
Статистика кодов ответов HTTP: 8 200 (успешные) 3 404 (не найдено) 1 500 (ошибка сервера) 1 302 (перенаправление)