在运维和系统管理中,实时了解服务器的运行状态至关重要。通过 Linux Shell 脚本,我们可以轻松实现对 CPU、内存、磁盘等关键资源的监控。本文将手把手教你如何编写一个简单的 Shell 监控脚本,即使你是初学者也能快速上手!
使用 Linux Shell监控 可以帮助你:
确保你的 Linux 系统已安装以下基础工具(大多数发行版默认已安装):
bash:Shell 解释器top、free、df:系统信息命令mail(可选):用于发送邮件告警下面是一个简单的监控脚本示例,它会检查 CPU 使用率、内存使用率和磁盘空间,并在超过阈值时输出警告。
#!/bin/bash# 设置阈值CPU_THRESHOLD=80MEM_THRESHOLD=85DISK_THRESHOLD=90# 获取 CPU 使用率(排除空闲时间)CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print 100 - $8}')# 获取内存使用率MEM_USAGE=$(free | awk 'NR==2{printf "%.2f", $3*100/$2 }')# 获取根分区磁盘使用率DISK_USAGE=$(df / | awk 'NR==2{print $5}' | tr -d '%')# 输出当前状态echo "$(date): CPU=${CPU_USAGE}%, MEM=${MEM_USAGE}%, DISK=${DISK_USAGE}%"# 检查是否超过阈值if (( $(echo "$CPU_USAGE > $CPU_THRESHOLD" | bc -l) )); then echo "[警告] CPU 使用率过高: ${CPU_USAGE}%"fiif (( $(echo "$MEM_USAGE > $MEM_THRESHOLD" | bc -l) )); then echo "[警告] 内存使用率过高: ${MEM_USAGE}%"fiif [ "$DISK_USAGE" -gt "$DISK_THRESHOLD" ]; then echo "[警告] 磁盘空间不足: ${DISK_USAGE}%"fi 将上述代码保存为 monitor.sh,然后赋予执行权限:
chmod +x monitor.sh
运行脚本:
./monitor.sh
为了让监控脚本定期执行,我们可以使用 cron 定时任务。
编辑当前用户的 crontab:
crontab -e
添加一行,每 5 分钟运行一次脚本并将结果追加到日志文件:
*/5 * * * * /path/to/monitor.sh >> /var/log/system_monitor.log 2>&1
这样你就实现了基本的 系统性能监控 自动化。
当你熟悉了基础脚本后,可以尝试:
通过这个简单的 Shell脚本教程,你已经掌握了如何用 Shell 实现基础的 Linux 系统监控。这不仅提升了你的运维效率,也为构建更复杂的监控体系打下了坚实基础。记住,好的监控是保障服务稳定的第一道防线!
现在就动手试试吧,让你的服务器“开口说话”!
本文由主机测评网于2025-11-28发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025111045.html