为系统监控脚本添加日志功能

LinuxBeginner
立即练习

介绍

在本次挑战中,你将通过添加日志记录功能来增强提供的 Linux 系统监控脚本。目标是在每个监控周期结束后,将资源使用情况(CPU、内存和磁盘)记录到日志文件中。这项任务将测试你修改和扩展 Shell 脚本以包含文件输出的能力。

基础脚本已经为你准备好了,你需要在此基础上添加日志功能。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是按照实验步骤进行学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初学者 级别的挑战,通过率为 93%。它在学习者中获得了 98% 的好评率。

为系统监控脚本添加日志功能

任务

  • 修改脚本 /home/labex/project/system_monitor.sh,将资源使用情况(CPU、内存和磁盘)追加到同目录下名为 resource_usage.log 的日志文件中。每条记录都应包含当前的日期和时间。

要求

  • 日志文件必须命名为 resource_usage.log,并位于 /home/labex/project 目录下。
  • 每条日志记录必须包含日期、时间以及 CPU、内存和磁盘的资源使用百分比。
  • 日志记录功能必须在每个监控周期的资源使用值计算完成后执行。

提示

  1. 使用 date 命令获取当前日期和时间,例如 date '+%Y-%m-%d %H:%M:%S'。你可以查阅 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 脚本中文件操作和日期命令的理解。