当前位置:首页 > 服务器技术 > 正文

Linux Shell输出警报(手把手教你用Shell脚本实现系统异常自动提醒)

在日常使用 Linux 系统时,我们常常需要监控某些关键指标,比如磁盘空间、CPU 使用率、内存占用等。一旦这些资源超出安全阈值,及时收到警报就显得尤为重要。本文将带你从零开始,使用 Linux Shell 脚本实现自动化的shell警报功能,即使是刚接触命令行的小白也能轻松上手!

Linux Shell输出警报(手把手教你用Shell脚本实现系统异常自动提醒) Shell  shell警报 命令行通知 系统监控脚本 第1张

为什么需要 Shell 警报?

手动检查系统状态既费时又容易遗漏。通过编写简单的 系统监控脚本,我们可以让计算机自动检测异常并在终端或通过邮件等方式发出通知。这不仅能提升运维效率,还能预防潜在的系统崩溃风险。

第一步:创建一个基础的磁盘空间警报脚本

我们以监控磁盘使用率为例。当根分区(/)使用率超过 80% 时,脚本将在终端输出一条醒目的警告信息。

#!/bin/bash# 获取根分区使用率(去掉百分号)USAGE=$(df / | awk 'NR==2 {print $5}' | tr -d '%')# 设置阈值THRESHOLD=80# 判断是否超过阈值if [ "$USAGE" -gt "$THRESHOLD" ]; then    echo "⚠️ 警告:根分区使用率已达 ${USAGE}%,超过阈值 ${THRESHOLD}%!"    # 可选:添加 beep 声音提示(需安装 beep 工具)    # beepelse    echo "✅ 磁盘使用正常:${USAGE}%"fi  

第二步:保存并运行脚本

将上述代码保存为 alert_disk.sh 文件:

nano alert_disk.sh  

然后赋予执行权限并运行:

chmod +x alert_disk.sh./alert_disk.sh  

如果磁盘使用率过高,你将看到类似这样的输出:

⚠️ 警告:根分区使用率已达 85%,超过阈值 80%!

第三步:自动化监控(可选进阶)

为了让警报持续生效,我们可以使用 cron 定时任务每小时检查一次:

# 编辑当前用户的 cron 任务EDITOR=nano crontab -e# 添加以下行(每小时整点运行)0 * * * * /path/to/alert_disk.sh >> /var/log/disk_alert.log 2>&1  

这样,你的 命令行通知系统就搭建完成了!你还可以扩展脚本,监控内存、CPU、网络连接等。

小贴士

  • 确保脚本路径正确,建议使用绝对路径。
  • 日志文件(如 /var/log/disk_alert.log)有助于事后排查问题。
  • 结合 mail 命令,还可将警报发送到邮箱(需配置邮件服务)。

结语

通过这个简单的例子,你已经掌握了如何用 Linux Shell 实现基本的系统监控脚本shell警报功能。掌握这项技能后,你可以根据实际需求定制更复杂的监控逻辑,打造属于自己的自动化运维工具箱。快去试试吧!