原创

使用Linux Shell脚本监控系统资源

温馨提示:
本文最后更新于 2024年07月23日,已超过 253 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

使用Linux Shell脚本监控系统资源

本文档将演示如何使用简单的Shell脚本监控系统资源,例如CPU利用率、内存使用情况、磁盘空间和网络流量。

1. 准备工作

  • 打开终端: 首先,打开终端并使用 sudo 命令以root权限运行脚本:

bash sudo bash

  • 创建脚本文件: 使用文本编辑器(例如 nanovim)创建一个名为 monitor.sh 的文件:

bash nano monitor.sh

2. 脚本内容

monitor.sh 文件中添加以下代码:

```bash

!/bin/bash

获取CPU利用率

cpu_usage=$(top -b -n 1 | grep "Cpu(s)" | awk '{print $2+$4}')

获取内存使用情况

memory_usage=$(free -m | awk '/Mem:/ {print $3/$2 * 100}')

获取磁盘空间使用情况

disk_usage=$(df -h | grep /dev/sda1 | awk '{print $5}')

获取网络流量

network_in=$(ifconfig eth0 | grep "RX packets" | awk '{print $2}') network_out=$(ifconfig eth0 | grep "TX packets" | awk '{print $2}')

打印监控结果

echo "CPU Utilization: $cpu_usage%" echo "Memory Usage: $memory_usage%" echo "Disk Usage: $disk_usage" echo "Network In: $network_in packets" echo "Network Out: $network_out packets" ```

3. 运行脚本

  • 保存文件: 使用 Ctrl+XYEnter 保存脚本文件。
  • 赋予脚本执行权限: 使用 chmod +x 命令赋予脚本执行权限:

bash chmod +x monitor.sh

  • 运行脚本: 执行脚本以查看系统资源监控结果:

bash ./monitor.sh

4. 定时运行脚本

可以使用 crontab 命令将脚本设置为定时执行。

  • 打开crontab编辑器: 运行 crontab -e 命令:

bash crontab -e

  • 添加任务: 在编辑器中添加以下行,将脚本设置为每分钟执行一次:

* * * * * /path/to/monitor.sh

  • 保存并退出: 使用 Ctrl+XYEnter 保存并退出编辑器。

5. 脚本解释

  • #!/bin/bash: 指定脚本解释器为bash。
  • top -b -n 1: 获取系统状态信息,-b 表示批处理模式,-n 1 表示只获取一次信息。
  • awk '{print $2+$4}': 从 top 命令输出中提取CPU利用率。
  • free -m | awk '/Mem:/ {print $3/$2 * 100}': 获取内存使用情况,并计算使用率百分比。
  • df -h | grep /dev/sda1 | awk '{print $5}': 获取指定磁盘分区的使用情况。
  • ifconfig eth0 | grep "RX packets" | awk '{print $2}': 获取网络接口 eth0 的接收数据包数量。
  • ifconfig eth0 | grep "TX packets" | awk '{print $2}': 获取网络接口 eth0 的发送数据包数量。

总结

本脚本提供了基本系统资源监控功能,您可以根据需要修改脚本内容,添加其他监控指标或自定义输出格式。

正文到此结束