返回
为 Linux 用户量身打造的磁盘使用情况监控与邮件通知脚本
见解分享
2023-10-09 09:29:23
实时监控 Linux 磁盘使用情况,无缝发送电子邮件通知
简介
现代 IT 环境中数据呈爆炸式增长,及时发现系统磁盘空间不足至关重要,以确保应用和服务正常运行。本文将指导您编写一个 Linux shell 脚本,该脚本可以轻松监控磁盘使用情况,并在达到阀值时发送电子邮件通知。
步骤 1:安装必要组件
首先,安装必要的软件包,包括用于发送电子邮件的邮件实用程序 mailutils。
sudo apt-get update
sudo apt-get install mailutils
步骤 2:创建脚本
创建一个脚本文件,并复制粘贴以下代码:
#!/bin/bash
# 定义磁盘使用率阀值
DISK_USAGE_THRESHOLD=80
# 定义电子邮件通知地址
EMAIL_ADDRESS="you@example.com"
# 获取所有磁盘分区的列表
DISK_PARTITIONS=$(df -h | grep -v Filesystem | awk '{print $1}')
# 循环遍历磁盘分区
for PARTITION in ${DISK_PARTITIONS[@]}; do
# 获取分区的使用率
DISK_USAGE=$(df -h ${PARTITION} | tail -1 | awk '{print $5}' | sed 's/%//')
# 检查磁盘使用率是否达到阀值
if [ ${DISK_USAGE} -ge ${DISK_USAGE_THRESHOLD} ]; then
# 发送电子邮件通知
echo "Disk ${PARTITION} usage is ${DISK_USAGE}%, which is above the threshold of ${DISK_USAGE_THRESHOLD}%" | mail -s "Disk Usage Alert" ${EMAIL_ADDRESS}
fi
done
步骤 3:赋予脚本可执行权限
sudo chmod +x /usr/local/bin/disk_usage_monitor.sh
步骤 4:创建 Cron 作业
设置一个 Cron 作业来定期运行脚本,例如每小时一次:
sudo crontab -e
0 */1 * * * /usr/local/bin/disk_usage_monitor.sh
步骤 5:测试脚本
运行脚本以检查其功能:
/usr/local/bin/disk_usage_monitor.sh
自定义脚本
您可以根据需要自定义脚本,例如调整磁盘使用率阀值、电子邮件通知内容和接收电子邮件的地址。
结论
通过实施此脚本,您可以主动监控 Linux 系统的磁盘使用情况,并在磁盘空间不足时及时采取措施。这有助于确保系统稳定性和应用程序正常运行。
常见问题解答
-
如何修改磁盘使用率阀值?
- 编辑脚本中的
DISK_USAGE_THRESHOLD
变量。
- 编辑脚本中的
-
如何将电子邮件通知发送到多个地址?
- 在
mail
命令中指定多个电子邮件地址,例如:mail -s "Disk Usage Alert" email1@example.com email2@example.com
。
- 在
-
如果我不愿意使用 mailutils,可以使用其他电子邮件客户端吗?
- 是的,您可以使用 Sendmail、Postfix 或 Exim 等电子邮件客户端。
-
如何调整 Cron 作业的运行频率?
- 编辑 Cron 表达式中的
* */1 * * *
部分,以指定所需的运行频率。
- 编辑 Cron 表达式中的
-
脚本还可以监控网络磁盘(如 NFS)吗?
- 是的,您可以使用
df -Ph
命令获取 NFS 挂载点的使用情况。
- 是的,您可以使用