В результате выполнения этого задания вы научитесь использовать:
- Регулярные выражения для фильтрации вывода;
- Утилиту sed для работы с конфигурационными файлами;
- Утилиту awk для анализа информации.
- Установлена операционная система Ubuntu на виртуальную машину или локально и имеется доступ к терминалу (удаленный или из графической оболочки)
- Произведена работа с файлами, рассматриваемыми на лекции, которые находятся ссылке
- Домашнее задание выполните в Google Docs и отправьте на проверку ссылку на ваш документ в личном кабинете.
- В названии файла введите корректное название лекции и вашу фамилию и имя.
- Зайдите в “Настройки доступа” и выберите доступ “Просматривать могут все в Интернете, у кого есть ссылка”. Ссылка на инструкцию Как предоставить доступ к файлам и папкам на Google Диске
- Скопируйте текст задания в свой Google Документ.
- Выполните домашнее задание, запишите ответы и приложите необходимые скриншоты и код в свой Google Документ.
- Для проверки домашнего задания преподавателем отправьте ссылку на ваш Google документ в личном кабинете.
- Любые вопросы по решению задач задавайте в чате учебной группы.
Напишите регулярное выражение для проверки является ли строка IPv4
адресом.
Для тестов можно использовать файл со следующим содержимым, фильтруя вывод с помощью команды grep -E
:
192.168.0.1
127.0.0.1
84.345.23.11
88.3A.56.76
224.12.76
999.999.999.999
355.255.255.257
0.0.0.0
Пришлите получившееся выражение в качестве ответа.
В Вашей конфигурации Nginx скопилось много неиспользуемых сегментов и становится сложно его читать.
Используя sed
удалите все пустые строки и комментарии в конфигурации Nginx.
Попробуйте сделать это одним запуском.
Файл расположен по ссылке
Пришлите получившуюся команду в качестве ответа
Используя awk
и ps aux
соберите информацию о:
- количестве процессов для каждого пользователя;
- процессе с самым большим PID;
- (дополнительное задание со звездочкой*) суммарном использовании памяти различными пользователями.
Пришлите скриншоты со скриптами и демонстрацией их работы
Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале.
Напишите bash-скрипт который собирает информацию о системе и пишет ее в лог каждые 5 секунд.
Используемые параметры:
- loadavg[1,5,15] средний показатель загрузки ЦПУ за последние 1 5 и 15 минут. Примечание: хранится в
/proc/loadavg
. - memfree количество свободной оперативной памяти в байтах. Примечание: используем утилиту
free
. - memtotal количество всей оперативной памяти в байтах. Примечание: используем утилиту
free
. - diskfree свободное место на диске подключенного к /. Примечание: используем утилиту
df
. - disktotal общий объем диска подключенного к /. Примечание: используем утилиту
df
.
Формат записи: timestamp loadavg1 loadavg5 loadavg15 memfree memtotal diskfree disktotal
Пособирайте данные в течении 5-10 минут.
Анализируя этот лог с помощью awk
напишите скрипт проверки состояния системы с заданными условиями:
loadavg1 < 1
в течении последних 2 минут;memfree / memtotal < 60%
в течении последних 3 минут;diskfree / disktotal < 60%
в течении последних 5 минут.
Скрипт должен возвращать 0 код ответа, если все условия выполняются, и любой другой в случае невыполнения.
В консоль также необходимо выводить, какое именно из условий не выполняется.
Пришлите получившиеся скрипты в качестве ответа.
- Код скриптов оформлен по правилам оформления кода на Bash
- Код скриптов размещен в отдельном sh-файле на вашем Google диске
- В личном кабинете отправлена ссылка на ваш Google документ, в котором прикреплена ссылка на ваш sh-файл с кодом скриптов и скриншоты, демонстрирующие корректную работу скриптов
- В документе и sh-файле настроены права доступа “Просматривать могут все в Интернете, у кого есть ссылка”
- Название документа содержит название лекции и ваши фамилию и имя
Зачет - выполнены все задания, приложен скрипт или команда, приложены соответствующие скриншоты, в выполненных заданиях нет противоречий и нарушения логики
На доработку - задание выполнено частично или не выполнено, в логике выполнения заданий есть противоречия, существенные недостатки.