在日常的 Linux 系统管理中,我们常常需要对某些关键指标进行持续监控,比如磁盘使用率、CPU 负载、服务是否运行等。一旦这些指标超出安全阈值,系统应能自动发出报警通知。通过 Linux Shell 循环,我们可以轻松实现这种自动化监控功能。
本文将从零开始,带你编写一个简单的 Shell 脚本,利用 while 循环不断检查系统状态,并在异常时发送报警信息。即使你是 Shell 脚本的新手,也能轻松上手!
Shell 脚本 是 Linux 系统中最基础且强大的自动化工具之一。结合 while 循环,我们可以让脚本每隔一段时间重复执行某段逻辑,非常适合用于周期性监控任务。相比复杂的监控系统(如 Zabbix、Prometheus),Shell 脚本轻量、无需额外安装依赖,特别适合小型项目或临时应急使用。
假设我们要监控根分区(/)的磁盘使用率,当使用率超过 80% 时,就向终端输出一条警告信息。
在终端中,我们可以使用 df 命令查看磁盘使用情况:
df -h / 但我们只需要百分比数字。可以使用以下命令提取使用率(去掉 % 符号):
usage=$(df / | awk 'NR==2 {print $5}' | sed 's/%//') 创建一个名为 disk_alert.sh 的文件,内容如下:
#!/bin/bash# 设置报警阈值(80%)THRESHOLD=80# 无限循环,每60秒检查一次while true; do # 获取根分区使用率(去掉%符号) usage=$(df / | awk 'NR==2 {print $5}' | sed 's/%//') # 判断是否超过阈值 if [ "$usage" -gt "$THRESHOLD" ]; then echo "[ALERT] 磁盘使用率已达到 ${usage}%,超过阈值 ${THRESHOLD}%!" # 这里可以添加邮件、短信或其他通知方式 # 例如:echo "磁盘告警" | mail -s "服务器磁盘告警" admin@example.com else echo "[OK] 当前磁盘使用率为 ${usage}%" fi # 每60秒检查一次 sleep 60done 保存脚本后,在终端执行以下命令:
chmod +x disk_alert.sh./disk_alert.sh 脚本将每分钟检查一次磁盘使用情况,并在超标时输出报警信息。
上述脚本只是一个基础示例。在实际生产环境中,你可以根据需求进行扩展:
mail 命令发送邮件curl 调用企业微信/钉钉机器人接口发送消息使用 自动化监控脚本 时,请注意以下几点:
sleep 1),以免占用过多系统资源nohup 或 systemd 服务通过本文,你已经掌握了如何使用 Linux Shell 循环 实现简单的系统监控与报警功能。无论是磁盘、内存还是服务状态,都可以用类似思路构建自己的 Shell 脚本报警 系统。希望这篇教程能帮助你在运维工作中更高效、更安心!
关键词回顾:Linux Shell循环、Shell脚本报警、自动化监控脚本、Shell while循环。
本文由主机测评网于2025-12-01发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025121619.html