系统监控脚本 #
一、CPU监控 #
bash
#!/bin/bash
get_cpu_usage() {
# 获取CPU使用率
local usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}')
echo "$usage"
}
get_cpu_info() {
echo "=== CPU信息 ==="
echo "型号: $(lscpu | grep 'Model name' | cut -d':' -f2 | xargs)"
echo "核心数: $(nproc)"
echo "使用率: $(get_cpu_usage)%"
}
二、内存监控 #
bash
#!/bin/bash
get_memory_info() {
echo "=== 内存信息 ==="
free -h | while read -r line; do
echo "$line"
done
}
get_memory_usage() {
local usage=$(free | awk '/Mem/{printf "%.1f", $3/$2*100}')
echo "$usage"
}
三、磁盘监控 #
bash
#!/bin/bash
get_disk_info() {
echo "=== 磁盘信息 ==="
df -h | grep -E '^/dev'
}
get_disk_usage() {
local mount_point="${1:-/}"
local usage=$(df -h "$mount_point" | awk 'NR==2 {print $5}' | tr -d '%')
echo "$usage"
}
四、完整监控脚本 #
bash
#!/bin/bash
monitor() {
local interval="${1:-5}"
while true; do
clear
echo "======================================"
echo " 系统监控 - $(date '+%Y-%m-%d %H:%M:%S')"
echo "======================================"
echo ""
# CPU
echo "CPU使用率: $(get_cpu_usage)%"
# 内存
echo "内存使用率: $(get_memory_usage)%"
# 磁盘
echo "磁盘使用率: $(get_disk_usage /)%"
# 网络
echo "网络连接数: $(netstat -an | grep ESTABLISHED | wc -l)"
echo ""
echo "按Ctrl+C退出"
sleep "$interval"
done
}
monitor 5
下一步 #
你已经掌握了系统监控脚本,接下来让我们学习 日志分析脚本!
最后更新:2026-03-27