Сценарий проекта
Описание концепции
Вы — веб-разработчик, который получил задачу на восстановление работоспособности Linux-сервера.
Цель проекта
Необходимо подключиться к серверу и восстановить его работоспособность, если известно, что на сервере работает веб-сервер, работает веб-приложение и настроены бэкапы. По неизвестной причине сервис перестал работать.
15 шагов восстановления Linux-сервера
Выполните шаги по порядку. Для каждого шага запишите выполненную команду и полученный результат.
-
Получить ссылку на сайт и убедиться, что он не работает.
Адрес:http://18.192.103.67/— откройте в браузере, убедитесь в ошибке. -
Подключиться к серверу по SSH.
Используйте ключich.pemи адресec2-user@18.192.103.67. -
Посмотреть статус процесса httpd.
Используйтеsudo service httpd status. Что показывает статус? - Запустить сервис httpd.
-
Посмотреть статус сервиса после запуска.
Проверить: заработал ли сервис? -
Попытаться скопировать файл настроек.
Файл настроек:/home/ec2-user/LocalSettings (5).php(с пробелами!)
Целевой путь:/var/www/html/mediawiki/LocalSettings.php
Что происходит? Записать сообщение об ошибке. -
Найти ошибки в error_log.
Искать в/var/log/httpd/error_log. Какова причина ошибки? -
Узнать, сколько свободного дискового пространства.
Использоватьdf -h. Какой процент использования? -
Найти файлы, которые занимают очень много места.
Использоватьfindс ключом размера. Какой файл является виновником? -
Восстановить работоспособность сервера — очистить лог.
«Перезапустить» или очистить/var/log/httpd/access_log(начать файл с нуля). -
Проверить, что место действительно появилось.
Использоватьdf -hснова. -
Вернуться к копированию файла настроек LocalSettings.php.
Скопировать файл из/home/ec2-user/в/var/www/html/mediawiki/. -
Найти и исправить ошибку в конфигурационном файле.
Найти строку$wgServerвLocalSettings.php. Заменить IP на актуальный. -
Найти и исправить некорректное задание cron у root.
Просмотретьsudo crontab -l. Что не так с текущим заданием?
Изменить интервал на ежедневный и исправить путь архива. -
Создать скрипт
/home/ec2-user/backup_logs.sh.
Скрипт должен:- Архивировать
/var/log/httpd/access_logв tar.gz с датой в имени - Очищать лог после архивации
- Удалять архивы старше 3 дней
0 0 * * *. - Архивировать
Проверка результата
После выполнения всех шагов должны быть восстановлены:
- Веб-сервис Apache httpd (Active: running)
- Дисковое пространство (свободно > 0)
- Конфигурационный файл
LocalSettings.php - Корректное задание cron для ротации логов
Сайт http://18.192.103.67/ должен открываться в браузере.
Решения: → Полные решения