今天在使用测试服务器时,发现服务器被好多测试的日志文件占用掉了十几个G的磁盘空间,通过 du -ah --max-depth=1
命令检查删除后,突发奇想的觉得不如顺手写个shell脚本来定时提醒自己磁盘空间的占用率。和 Prometheus
这种大型的监控系统比起来,一个shell脚本可谓是非常的 轻量级
了。
说干就干,项目源码已放到 Github 上,猛戳 leafney/disk-monitor-dingtalk: disk monitor 监控磁盘空间使用率并发送钉钉提醒 查看。
说明
脚本比较简单,一看就明白了。通过 df
命令来查看磁盘各个分区的占用率并设置阈值,当到达指定阈值时就发送钉钉消息进行提醒。
设置了四个可选参数:
-t
– 钉钉的token,必填项-p
– 磁盘占用率百分比阈值,默认为80%
-h
– 默认情况下获取服务器主机的hostname
,可以自定义一个服务器名称-n
– 当磁盘的占用率在正常阈值内是否也发送提醒,默认是不发送
使用
首先,为shell脚本赋予可执行权限:
1 | $ chmod +x ./disk-monitor.sh |
然后,通过 crontab
来定时执行。我设置的是每天的9点检查一次:
1 | $ crontab -l |
效果
相应的效果如下: