首先感谢 https://hostloc.com/forum.php?mo … =%E9%98%BF%E9%87%8C 无私分享 其次谢谢 @dole,交易很愉快
从 @dole 那儿收到了台3年的。方式为改账号的密保手机号。 由于账号实名变更需要原实名人扫脸认证,最好还是将机器push到自己的实名账号。
1. push机器需要机器开机满5天 2. push机器需要接收账号有100余额,而不是迁出账号。当然冲错了也无事,可以提现,大约5分钟左右就到账原路返回到充值渠道账号。 3. push机器需要注意接收账号的交换机(即vpc子网)的可用区需要和原机器保持一致 4. 交换机名称不要用特殊符号,例如 / . * 等,否则会引发push ecs 过户失败 5. 迁出前,解绑机器的IPV4 和IPV6 公网IP地址,并回收IP和共享带宽,避免后续产生计费。 6. 迁出后,为了避免流量超限,抄了v2ex的脚本。并修改部分逻辑。阿里云的共享带宽计费选择的是出入取大,即取单向最大值而不是双边相加。脚本如下:
[root@ aliyun-hk-1 /data/scripts] 09:59:12 # cat check_traffic.sh #!/bin/bash
# 设置网卡名称 INTERFACE="eth0" # 设置流量限制(单位:GB ) LIMIT=150
# 检查 vnstat 和 jq 是否已安装 if ! command -v vnstat &> /dev/null; then echo "vnstat 未安装,请安装后重试。" exit 1 fi
if ! command -v jq &> /dev/null; then echo "jq 未安装,请安装后重试。" exit 1 fi
# 检查 bc 是否已安装 if ! command -v bc &> /dev/null; then echo "bc 未安装,请安装后重试。" exit 1 fi
# 获取当前流量(单位:KB ) VNSTAT_JSON=$(vnstat -i $INTERFACE –json) echo "vnstat JSON 输出: $VNSTAT_JSON"
# 使用 jq 解析 JSON 数据获取接收和发送的流量(单位:KB ) RX=$(echo $VNSTAT_JSON | jq -r ‘.interfaces[0].traffic.total.rx’) TX=$(echo $VNSTAT_JSON | jq -r ‘.interfaces[0].traffic.total.tx’)
# 输出解析结果 echo "接收流量 (RX): $RX KB" echo "发送流量 (TX): $TX KB"
# 检查 RX 和 TX 是否为有效的数字 if ! [[ $RX =~ ^[0-9]+$ ]] || ! [[ $TX =~ ^[0-9]+$ ]]; then echo "RX 或 TX 不是有效的数字。" exit 1 fi
# 计算总流量(单位:GB ) # 判断 RX 和 TX 中较大的值 if [ "$RX" -gt "$TX" ]; then TOTAL=$(echo "scale=2; $RX / 1024 / 1024 /1024" | bc) echo "总流量 (TOTAL): $TOTAL GB (基于接收流量)" else TOTAL=$(echo "scale=2; $TX / 1024 / 1024 /1024" | bc) echo "总流量 (TOTAL): $TOTAL GB (基于发送流量)" fi
# 检查是否超过流量限制 if (( $(echo "$TOTAL >= $LIMIT" | bc -l) )); then echo "流量限制已超出,执行关机。" #sudo ip link set $INTERFACE down init 0 else echo "当前流量未超出限制。" fi [root@ aliyun-hk-1 /data/scripts] 09:59:19 # cat reset_network.sh #!/bin/bash
# 停止 vnStat 服务 sudo systemctl stop vnstat # 如果使用 systemd 管理服务
# 删除 vnStat 数据库文件(根据需要修改网络接口名称) sudo rm -f /var/lib/vnstat/* # 删除所有 vnstat 数据库文件
# 重新启动 vnStat 服务 sudo systemctl start vnstat # 如果使用 systemd 管理服务
echo "vnStat 流量统计数据已重置。" |