信息发布→ 登录 注册 退出

如何在Linux中空间预警 Linux du阈值监控脚本

发布时间:2025-09-01

点击量:
首先使用df命令检查根分区使用率,超过80%阈值则发出警告,并可通过邮件通知管理员;其次利用du命令监控特定目录如/var/log的大小,超出设定的5GB上限时触发告警;最后将脚本添加到crontab中每12小时执行一次,实现定时监控。

设定磁盘使用率预警的实用脚本

在Linux系统中,磁盘空间不足可能引发服务中断或数据写入失败。通过编写一个简单的Shell脚本监控关键目录的使用情况,可以提前发现潜在问题。核心思路是利用

du
df
命令获取使用量,结合阈值判断并发送提醒。

使用 df 获取整体使用率并判断阈值

虽然标题提到

du
,但监控挂载点整体空间更常用
df
。以下脚本检查根分区使用率,超过设定阈值(如80%)则输出警告:

#!/bin/bash
THRESHOLD=80
PARTITION="/"
USAGE=$(df $PARTITION | grep '^/dev' | awk '{print $5}' | sed 's/%//')

if [ $USAGE -gt $THRESHOLD ]; then echo "警告:分区 $PARTITION 使用率达到 ${USAGE}%,超过阈值 $THRESHOLD%"

可加入邮件发送:echo "警告内容" | mail -s "磁盘预警" admin@example.com

fi

用 du 监控指定目录大小并触发告警

若需监控特定目录(如

/var/log
/home
)的累积大小,可使用
du
。以下脚本设定目录大小上限(如5GB),超出则提醒:

#!/bin/bash
DIR="/var/log"
LIMIT_MB=5120  # 5GB in MB
CURRENT_MB=$(du -sm "$DIR" 2>/dev/null | awk '{print $1}')

if [ -z "$CURRENT_MB" ]; then echo "错误:无法读取目录 $DIR 的大小" exit 1 fi

if [ $CURRENT_MB -gt $LIMIT_MB ]; then echo "警告:目录 $DIR 当前大小为 ${CURRENT_mb}MB,超过限制 $LIMIT_MB MB" fi

整合脚本并设置定时任务

将脚本保存为

disk_monitor.sh
,赋予执行权限:

chmod +x disk_monitor.sh

使用

crontab
每日执行两次:

crontab -e
# 添加一行:
0 */12 * * * /path/to/disk_monitor.sh

如需通知,可将输出重定向到邮件或日志文件。

基本上就这些。关键是根据实际需求选择

df
还是
du
,设定合理阈值,并确保脚本稳定运行。

标签:# linux  # ai  # linux系统  # shell脚本  # var  # 并发  # 两次  # 并可  # 后将  # 可将  # 如需  # 保存为  # 率达到  # 邮件发送  # 使用量  # 磁盘空间  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!