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

设定磁盘使用率预警的实用脚本
在Linux系统中,磁盘空间不足可能引发服务中断或数据写入失败。通过编写一个简单的Shell脚本监控关键目录的使用情况,可以提前发现潜在问题。核心思路是利用
du
或
df
命令获取使用量,结合阈值判断并发送提醒。
使用 df 获取整体使用率并判断阈值
虽然标题提到
du
,但监控挂载点整体空间更常用
df
。以下脚本检查根分区使用率,超过设定阈值(如80%)则输出警告:
#!/bin/bashTHRESHOLD=80PARTITION="/"USAGE=$(df $PARTITION | grep '^/dev' | awk '{print $5}' | sed 's/%//')if [ $USAGE -gt $THRESHOLD ]; thenecho "警告:分区 $PARTITION 使用率达到 ${USAGE}%,超过阈值 $THRESHOLD%"
可加入邮件发送:echo "警告内容" | mail -s "磁盘预警" admin@example.com
fi
用 du 监控指定目录大小并触发告警
若需监控特定目录(如
/var/log
、
/home
)的累积大小,可使用
du
。以下脚本设定目录大小上限(如5GB),超出则提醒:
美间AI
美间AI:让设计更简单
45 查看详情
#!/bin/bashDIR="/var/log"LIMIT_MB=5120 # 5GB in MBCURRENT_MB=$(du -sm "$DIR" 2>/dev/null | awk '{print $1}')if [ -z "$CURRENT_MB" ]; thenecho "错误:无法读取目录 $DIR 的大小"exit 1fi
if [ $CURRENT_MB -gt $LIMIT_MB ]; thenecho "警告:目录 $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中空间预警 Linux du阈值监控脚本的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/435842.html
微信扫一扫
支付宝扫一扫