2-脚本
2024年7月29日小于 1 分钟
脚本汇总
监控 Linux 系统的 CPU 使用率、内存使用率、磁盘空间使用率和网络连接数。
#!/bin/bash
# CPU 使用率
cpu_usage=$(top -b -n1 | grep "Cpu(s)" | awk '{print $2}' | awk -F. '{print $1}')
# 内存使用率
mem_usage=$(free | awk '/Mem/{printf("%.2f"), $3/$2*100}')
# 磁盘空间使用率
disk_usage=$(df -h | awk '$NF=="/"{printf "%s", $5}')
# 网络连接数
netstat_count=$(netstat -an | grep :80 | wc -l)
# 发送邮件的函数
send_mail() {
mail -s "系统监控报告" example@example.com << EOF
CPU 使用率: ${cpu_usage}%
内存使用率: ${mem_usage}%
磁盘空间使用率: ${disk_usage}
网络连接数: ${netstat_count}
EOF
}
# 如果 CPU 使用率超过 80%,发送邮件
if [ ${cpu_usage} -gt 80 ]; then
send_mail
fi
# 如果内存使用率超过 80%,发送邮件
if (( $(echo "${mem_usage} > 80" | bc -l) )); then
send_mail
fi
# 如果磁盘空间使用率超过 80%,发送邮件
if [ ${disk_usage%?} -gt 80 ]; then
send_mail
fi
# 如果网络连接数超过 1000,发送邮件
if [ ${netstat_count} -gt 1000 ]; then
send_mail
fi