0%

Server酱:轻松实现推送消息到手机

Server 酱是一个从服务器、路由器等设备上推消息到手机的工具,可以用来接收 Bypass 发送的抢票消息,也可以用来推送告警消息。目前免费用户每天只有 5 次消息推送额度。


配置消息通道

以前使用 Server 酱时,只需要发送请求,就可以通过 Server 酱公众号接收到消息推送。在改版后,更推荐通过自己创建的企业微信应用来接收消息:配置企业微信应用消息通道

消息推送展示

调用API

GET方式

最简单的调用方式,就是直接在浏览器中输入以下 URL,并传递参数:

1
https://sctapi.ftqq.com/YourSendKey.send?title=messagetitle&desp=messagecontent

参数说明:

  • title:消息标题,必填。最大长度为 32;
  • desp:消息内容,选填。支持 Markdown 语法,最大长度为 32 KB,消息卡片截取前 30 显示。如果是免费用户,需要点击消息卡片进入详情页面才能查看消息内容。

如果要发送中文,记得要把参数编码,比如通过 urlencode 函数。同时需要注意,GET 请求是有长度限制的,所以还是建议大家使用 POST 请求来发送。

POST方式

可以使用 curl 来发起 POST 请求:

1
curl -d "title=BJ磁盘告警&desp=磁盘使用已超过90%" "https://sctapi.ftqq.com/YourSendKey.send"

示例

定时监控服务器磁盘剩余容量,如果超过阈值就发送告警消息。

编写脚本:

diskfree.sh
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
value=90
dt=$(date "+%Y-%m-%d")
df=$(df -h | grep '/dev/vda1' | awk '{print $5}')
if [ ${df%\%*} -ge ${value} ]; then
echo "$(date "+%Y-%m-%d %H:%M:%S") WARN:磁盘使用量大于等于${value}%"
curl -d "title=BJ服务器磁盘告警&desp=${dt}磁盘使用已达到${df}" "https://sctapi.ftqq.com/YourSendKey.send"
else
echo "$(date "+%Y-%m-%d %H:%M:%S") INFO:磁盘使用量为${df}"
fi

设置 crontab 定时任务,每小时检测一次:

1
0 */1 * * * /data/script/diskfree.sh >> /data/script/logs/diskfree.log