为 FreeBSD 添加一个磁盘空间监控脚本
写了一个关于 FreeBSD 下面的磁盘可用空间的监控脚本,如下:
#!/bin/sh # 监控脚本通过钉钉发送告警提醒消息,钉钉消息是通过封装过的内部接口服务器发送的。这个是通过 curl 获取接口访问 token stringAccessToken=`/usr/local/bin/curl -s "https://api.myserver.com/Comm/?m=gettoken&id=myappid&secret=myappsecret"` # rev 是反转字符串,cut 是剪切字符串 stringAccessToken=`echo $stringAccessToken | rev | cut -c22- | rev | cut -c17-` # 监控的阈值 intFreePerentThresholds=85 # 获取 data 分区已使用空间占用比例。awk 是取列的值 intFreePerent=`df -TH | grep data | awk '{print $6}' | rev | cut -c2- | rev` # 获取当前服务器 ip 地址。awk -F' ',代表用空格分列。在这儿也可以不用。 stringCurrentIP=`/sbin/ifconfig | grep 'inet' | grep -v 'inet6' | grep -v '127.0.0.1' | awk -F' ' '{print $2}'` if [ $intFreePerent -gt $intFreePerentThresholds ] then # 发消息 stringSendMessageURL=`/usr/local/bin/curl -s -d '{"touser":"userid","content":"Current server ip is '$stringCurrentIP', the server data partition used space percent is '$intFreePerent'%. It is very ugrent, Plase note that."}' 'https://api.myserver.com/Dingding/?m=sendmessage&accesstoken='$stringAccessToken` echo 'It is not ok.' else echo 'It is ok.' fi
然后加入定时任务,每 3 个小时执行一次,就可以了。