在Linux编写一个脚本,用于检查系统磁盘使用率,并在超过预设阈值时发送警告
时间: 2024-09-29 07:12:24 浏览: 53
在Linux中,你可以使用bash shell脚本来创建一个监控磁盘空间使用的简单程序。这里是一个基本的例子,它会定期检查磁盘的使用情况,并在空间低于设定的阈值时发送警告:
```bash
#!/bin/bash
# 定义变量
DISK_PATH="/" # 指定你要检查的磁盘路径
THRESHOLD=90 # 设置警告阈值,例如90%表示当剩余空间少于总空间的90%时发出警告
EMAIL="your-email@example.com" # 邮箱地址,用于发送警告通知
NOTIFY_INTERVAL=60 * 5 # 检查间隔,这里是每5分钟一次
# 函数,用于检查磁盘空间并发送邮件通知
check_disk_usage() {
local usage=$(df -h "$DISK_PATH" | awk 'NR==2 {print $5}' | tr -d '%')
if (( $(echo "$usage > $THRESHOLD" | bc -l) )); then
echo "警告:$DISK_PATH的磁盘使用率已超过${THRESHOLD}%,当前使用${usage}%" | mail -s "磁盘空间警告" "$EMAIL"
fi
}
# 循环检查并发送通知
while true; do
check_disk_usage
sleep $NOTIFY_INTERVAL
done
# 添加执行权限
chmod +x your_script.sh
# 运行脚本
./your_script.sh
```
这个脚本首先设置了需要监控的磁盘路径、警告阈值和接收邮件的地址。然后定义了一个函数`check_disk_usage`,该函数使用`df`命令获取磁盘使用率并与阈值比较。如果达到或超过阈值,就通过`mail`命令发送警告邮件。
将上述内容保存到一个文件(如`disk_monitor.sh`),替换`your_email@example.com`为你实际的邮箱地址,然后按照提示添加执行权限并运行它。记得定期检查并调整阈值和通知频率以满足需求。
阅读全文