使用Linux Shell脚本监控系统资源
使用Linux Shell脚本监控系统资源
本文档将演示如何使用简单的Shell脚本监控系统资源,例如CPU利用率、内存使用情况、磁盘空间和网络流量。
1. 准备工作
- 打开终端: 首先,打开终端并使用
sudo
命令以root权限运行脚本:
bash
sudo bash
- 创建脚本文件: 使用文本编辑器(例如
nano
或vim
)创建一个名为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+X
、Y
、Enter
保存脚本文件。 - 赋予脚本执行权限: 使用
chmod +x
命令赋予脚本执行权限:
bash
chmod +x monitor.sh
- 运行脚本: 执行脚本以查看系统资源监控结果:
bash
./monitor.sh
4. 定时运行脚本
可以使用 crontab
命令将脚本设置为定时执行。
- 打开crontab编辑器: 运行
crontab -e
命令:
bash
crontab -e
- 添加任务: 在编辑器中添加以下行,将脚本设置为每分钟执行一次:
* * * * * /path/to/monitor.sh
- 保存并退出: 使用
Ctrl+X
、Y
、Enter
保存并退出编辑器。
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
的发送数据包数量。
总结
本脚本提供了基本系统资源监控功能,您可以根据需要修改脚本内容,添加其他监控指标或自定义输出格式。
- 本文标签: Linux
- 本文链接: https://blog.sandy1029.cloud/article/184
- 版权声明: 本文由nisan原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权