阿里云有个著名的羊毛:国内服务器按流量计费(CDT),每月送 20G 大陆流量 + 200G 非大陆流量,带宽峰值最高 80Mbps,包年 5 年只要 100 多块,折合每月 2-3 元。但代价是——流量是计费的,超出免费额度要按 0.8 元/GB 扣钱。如果你不盯着流量,被爬虫或恶意刷量一天跑出几十 G,账单直接爆炸。这篇分享我的防天价账单方案。
一、免费额度规则
- 出网流量计费,入网免费
- 大陆地域:每月 20G 免费(超出 0.8 元/GB)
- 非大陆地域:每月 200G 免费
- 带宽峰值最大 80Mbps,按量模式
二、流量监控脚本
思路:每分钟从 /proc/net/dev 读一次公网网卡的上传字节数,累加统计,达到阈值就发企业微信提醒,再超就自动关机。
# /usr/local/bin/traffic-guard.sh
IFACE="eth0"
STATE_DIR="/var/lib/traffic_guard"
WARN_GB=16 # 接近 20G 预警
SHUTDOWN_GB=20 # 用满就关机保护核心逻辑:记录上次累计值 → 算增量 → 判断阈值 → 预警/关机。注意跨天清零日统计,方便看日报。
三、定时执行
apk add cronie
rc-service crond start
rc-update add crond default
crontab -e
# 每分钟执行一次
* * * * * /usr/local/bin/traffic-guard.sh四、企业微信通知
在企业微信群里添加机器人,拿到 webhook 地址填进脚本,流量接近上限时你手机就能收到预警,不用天天盯着控制台。
五、注意事项
- 阈值按免费额度设:大陆机 16G 预警、20G 关机最稳,一毛钱超额都不花
- 开机自启:脚本要配 crond 自启,服务器重启后监控不能丢
- 关机保护是兜底:真被刷流量时,宁可关机也别欠账单
2 元/月的服务器真香,但"不管理服务器容易天价账单"这句话,每个羊毛党都该刻在脑子里。