Занятие 31. Linux: Mini project (Финальный проект)
⚡ Финальный проект: восстановление Linux-сервера
Роль: веб-разработчик, которому поступила задача восстановить упавший Linux-сервер с MediaWiki на EC2 (Apache httpd).
Цель: подключиться по SSH и восстановить работоспособность — сервис, диск, конфиг, cron.
- Среда: Amazon EC2, Apache httpd, MediaWiki, SSH
- Проблема: httpd inactive, диск 100%, access_log = 7 ГБ, некорректный конфиг
$wgServer, сломан cron - Итог: восстановлены — веб-сервис, дисковое пространство, конфигурационный файл, cron-задание
- ДЗ: написать «post mortem» отчёт по выполненной работе
📖 О чём это занятие
Финальный проект курса Linux & Git — практическая задача в роли веб-разработчика, восстанавливающего Linux-сервер. Проект интегрирует все изученные темы: SSH, диагностика дискового пространства, управление сервисами, bash-скрипты, cron, tar.
Что делаем на проекте
- Подключаемся к серверу по SSH
- Диагностируем проблему:
sudo service httpd status→ inactive - Запускаем сервис, обнаруживаем ошибку «No space left on device»
- Находим причину: access_log 7 ГБ —
df -h,find / -type f -size +100M - Очищаем лог, восстанавливаем конфигурационный файл
LocalSettings.php - Исправляем ошибку в
$wgServerи некорректный cron root - Создаём скрипт
backup_logs.shдля архивирования и ротации логов - Пишем «post mortem» отчёт по итогам
Организационная часть
Как складывается оценка по модулю
| Компонент | Вес |
|---|---|
| Домашние задания | 30% |
| Учебный проект | 60% |
| Финальный тест | 10% |
Шкала оценок: 1 (отлично) — 100% | 2 (хорошо) — до 80% | 3 (удовл.) — до 60% | 4 (неудовл.) — до 40% | 5 (неудовл.) — до 20%
Все домашние задания нужно сдавать до завершения недели, на которой выполняется учебный проект (до воскресенья).
📚 Что повторить перед проектом
Проект интегрирует весь курс. Для уверенной работы повторите:
- ← Занятие 21: cron, crontab, tar — планировщик задач и архивация
- ← Занятие 24: Продвинутые bash-скрипты — df, find, awk в скриптах
- ← Занятие 27: Завершение работы со скриптами — read, md5sum, скрипты с аргументами
- ← Занятие 30: Командная работа в Git — предыдущее занятие
Полезны все предыдущие занятия: ssh, chmod, cp, vi, grep, cat.
🎉 Поздравляем с завершением курса!
Вы прошли полный курс Linux & Git — 31 занятие от основ командной строки до командной работы в Git и восстановления production-сервера.
Что вы теперь умеете:
- Работать в Linux: навигация, права, процессы, сети, архивация
- Писать bash-скрипты: циклы, условия, cron, обработка логов
- Использовать Git: коммиты, ветки, rebase, PR, командная работа
- Диагностировать и восстанавливать Linux-серверы
🎁 Хотите дальше? Загляните в бонус-урок Graphite (gt): стекированные PR — современный подход к code review поверх Git.