Linux查看服务器空间自动化监控怎么做3个脚本轻松搞定,三步轻松实现Linux服务器空间自动化监控,脚本实操指南
『Linux查看服务器空间自动化监控怎么做3个脚本轻松搞定』
凌晨3点被磁盘报警吵醒,手忙脚乱登录服务器却找不到爆满元凶? 别急!实测80%空间告警可通过脚本预判,分享三款开箱即用的监控方案?——从秒级排查到微信自动报警,彻底告别“救火式运维”?!
?️ 基础命令速查:3秒定位问题
✅ 全局空间看这里

bash复制df -hT | grep -v tmpfs # 排除临时文件系统干扰
输出关键列:Use%≥90%的挂载点⚠️ → 立刻锁定风险分区!
✅ 深挖大目录
bash复制du -sh /* 2>/dev/null | sort -hr | head -5 # 根目录下TOP5空间杀手
避坑:
2>/dev/null→ 屏蔽权限报错干扰sort -hr→ 按人类可读数值排序(如10G>1G)
✅ 隐藏Boss:inode耗尽
bash复制df -i | awk '{if($5>90) print}' # 使用率>90%才报警
血泪教训:
磁盘明明有空间却报"no space",
多半是inode用光?——尤其小文件多的系统!
? 监控脚本三件套:微信/邮件/短信报警
❗️ 脚本1:磁盘阈值扫描
bash复制#!/bin/bash ALERT=90 # 阈值百分比 RESULT=$(df -h | awk '0+$5 > '$ALERT' {print $6"使用率"$5}')if [ -n "$RESULT" ]; thencurl "https://api.weixin.qq.com/...&msg=报警:${RESULT}"fi
部署:crontab -e添加 */10 * * * * /path/to/script.sh
❗️ 脚本2:用户空间排行榜
bash复制#!/bin/bash du -sh /home/* 2>/dev/null | sort -hr > /tmp/disk_report.txtmail -s "每日用户空间TOP10" admin@xxx.com < /tmp/disk_report.txt
效果:每天早8点收邮件,一眼锁定“囤积狂”用户?️
❗️ 脚本3:日志自动切割
bash复制find /var/log -name "*.log" -size +1G -exec truncate -s 0 {} ;
暴力但有效:超过1G的日志直接清空 → 慎用生产环境!
? 避坑指南:这些错误让脚本变炸弹
❌ 作 *** 操作1:无脑监控所有目录
监控
/proc或/sys→ 脚本卡 *** +误报✅ 白名单法则:
bash复制
df -h | grep -E '/(home|data)' # 只监控业务目录
❌ 作 *** 操作2:crontab日志不切割
脚本日志无限增长 → 反占磁盘空间?
✅ 自救方案:
bash复制
logrotate -f /etc/logrotate.d/my_script # 添加日志切割配置
❌ 作 *** 操作3:inode监控频率过高
find / -type f每5分钟跑一次 → 磁盘IO打满✅ 优化方案:
bash复制
# 重点监控易爆区(如小文件目录) find /tmp /var/spool -xdev -type f | cut -d "/" -f 3 | sort | uniq -c | sort -nr
? 进阶:可视化监控大盘(零基础版)
工具组合:
Prometheus + Grafana → 实时展示多台服务器空间
优势:
历史波动曲线? → 预判周期性爆满
自定义看板 → 老板最爱“红绿灯”式状态
偷懒技巧:
用现成模板 ID:1860(Disk Usage)→ 导入Grafana立即可用
? 暴论:监控的真谛是“不打扰”
最高级的运维,
是让脚本在凌晨默默清空日志,
而你一觉睡到天亮?——
报警不响,才是最好的状态?