帮我写一个脚本获取 服务区负载情况 以及 cpu使用率 内存使用率 硬盘使用情况
时间: 2024-09-07 13:04:07 浏览: 36
你可以使用Linux下的命令行工具来监控服务器的负载、CPU使用率、内存使用率和硬盘使用情况。这里是一个简单的bash脚本示例,它会定期获取并打印这些信息:
```bash
#!/bin/bash
# 定义变量存储结果
load_info=""
cpu_usage=""
mem_usage=""
disk_usage=""
# 获取当前时间
timestamp=$(date "+%Y-%m-%d %H:%M")
# 负载平均值(1分钟,5分钟,15分钟)
load_info=$(uptime | awk '{print $4}' | cut -d',' -f1)
# CPU使用率
cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed 's/.*, *\([0-9.]*\)%* id.*/\1/' | awk '{print 100 - $1}')
# 内存使用率(百分比)
mem_usage=$(free | grep Mem | awk '{printf "%.2f%%", ($3 + $4) / ($2 * 100)}')
# 磁盘使用情况(例如查看/home目录)
disk_usage=$(df -h | grep '/home' | awk '{print $5}' | tr -d '%')
echo "-------"
echo "Time: $timestamp"
echo "Load Average: $load_info"
echo "CPU Usage: $cpu_usage%"
echo "Memory Usage: $mem_usage%"
echo "Home Directory Usage: $disk_usage"
echo "---------------------"
# 如果需要定时运行,可以将此脚本放到cron任务中
# (crontab -e 添加一行类似 "*/5 * * * * /path/to/your/script.sh" 的定时任务)
```
请注意,你需要根据实际的系统配置(如磁盘路径)修改`disk_usage`部分的内容。此外,这个脚本假设你已经在服务器上安装了`awk`, `grep`, 和 `top` 等常用命令。
阅读全文