Добавление ведения журнала в системный монитор

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом испытании вы будете улучшать предоставленный скрипт мониторинга Linux-системы, добавляя функцию ведения журнала. Цель заключается в том, чтобы записывать использование ресурсов (CPU, память и диск) в файл журнала после каждого цикла мониторинга. Эта задача позволит проверить вашу способность модифицировать и расширять сценарий на языке shell для включения вывода в файл.

Базовый скрипт предоставляется вам. Вам необходимо добавить в него функцию ведения журнала.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/SystemInformationandMonitoringGroup -.-> linux/date("Date/Time Displaying") subgraph Lab Skills linux/echo -.-> lab-299447{{"Добавление ведения журнала в системный монитор"}} linux/cat -.-> lab-299447{{"Добавление ведения журнала в системный монитор"}} linux/date -.-> lab-299447{{"Добавление ведения журнала в системный монитор"}} end

Добавление ведения журнала в системный монитор

Задачи

  • Измените скрипт /home/labex/project/system_monitor.sh, чтобы добавить использование ресурсов (CPU, память и диск) в файл журнала с именем resource_usage.log в том же каталоге. Каждая запись должна содержать текущую дату и время.

Требования

  • Файл журнала должен называться resource_usage.log и располагаться в /home/labex/project.
  • Каждая запись журнала должна включать дату, время и проценты использования ресурсов для CPU, памяти и диска.
  • Ведение журнала должно быть реализовано после вычисления значений использования ресурсов в каждом цикле мониторинга.

Советы

  1. Используйте команду date, чтобы получить текущую дату и время. Изучите страницу man date, чтобы узнать, как форматировать вывод.
  2. Не забудьте использовать оператор >>, чтобы добавлять содержимое в файл. Избегайте перезаписи файла каждый раз.
  3. Объедините значения использования ресурсов в одну строку перед добавлением в файл журнала. Для этого используйте переменные и интерполяцию строк.
  4. Убедитесь, что файл журнала записывается в том же каталоге, что и скрипт, используя абсолютный или относительный путь, например, /home/labex/project/resource_usage.log.

Примеры

После завершения задачи запуск /home/labex/project/system_monitor.sh в течение нескольких секунд должен создать файл resource_usage.log с записями, похожими на:

cat /home/labex/project/resource_usage.log
2024-12-04 14:00:01 CPU: 15% Memory: 45% Disk: 62%
2024-12-04 14:00:03 CPU: 18% Memory: 46% Disk: 62%
2024-12-04 14:00:05 CPU: 20% Memory: 47% Disk: 62%

Для выхода из скрипта без ошибок вы можете нажать Ctrl+C, чтобы отправить сигнал прерывания.

Пример журнала системного монитора
✨ Проверить решение и практиковаться

Резюме

В этом испытании вы добавили функцию ведения журнала в скрипт мониторинга Linux-системы. Эта функция записывает использование ресурсов в файл журнала, позволяя пользователям отслеживать потребление ресурсов в течение времени. Эта задача усилила ваше понимание операций с файлами и команд по работе с датой в сценариях на языке Bash.