这套监控脚本就装在我们跑 DNS 的那台阿里云机器上:你手机上填的
dns.23-4.cn,正是靠它才没被流量账单搞死。私人DNS 主机名:
dns.23-4.cn| DoH 地址:https://dns.23-4.cn/dns-query| 配置教程 | 过滤战报
阿里云有个著名的羊毛:国内服务器按流量计费(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 元/月的服务器真香,但"不管理服务器容易天价账单"这句话,每个羊毛党都该刻在脑子里。
相关阅读
- Alpine 轻量服务器初始化清单:时钟、Nginx、PHP 一篇配齐
- AdGuard Home 迁移实录:从香港服务器搬到国内阿里云
- 自建AdGuard Home教程:搭建属于自己的私人DNS服务器
- 免费公共DNS还是自建DNS服务器?私人DNS选型与成本对比
- 私人 DNS 加密设置教程
不想自己维护服务器的话,可以直接用我们跑好的那一台:主机名dns.23-4.cn,DoHhttps://dns.23-4.cn/dns-query,步骤见私人 DNS 加密设置教程。