没错,就是在说阿里CDT的200G啦。
阿里的SDK似乎没相应的API,所以就简单粗暴的弄弄了,有洁癖的就别看了。
步骤一,增加 crontab,每个月重启机器清除网卡统计数据。 粗爆吧。
0 0 1 * * /usr/sbin/reboot
步骤二,检查网卡流量
先在crontab里加入一个每分钟一次的任务来检查
*/1 * * * * /usr/local/bin/check.sh #check.sh是你检查的脚本,文件名当然根据实际的来
脚本是假定使用共享流量包,就是进出取大者计算。

脚本如下:

#!/bin/bash

# 获取 ifconfig eth0 的输出
output=$(ifconfig eth0)

# 提取 RX 和 TX 的字节数
rx_bytes=$(echo "$output" | grep -oP 'RX packets \d+  bytes \K\d+')
tx_bytes=$(echo "$output" | grep -oP 'TX packets \d+  bytes \K\d+')

# 将 190 GB 转换为字节。保险一点,没用200G。
limit=$((190 * 1024 * 1024 * 1024))

# 比较 RX 和 TX 的字节数并输出较大的那个值
if [ "$rx_bytes" -gt "$tx_bytes" ]; then
    larger_value=$rx_bytes
else
    larger_value=$tx_bytes
fi

echo "Larger value: $larger_value"

# 检查是否超过 190 GB
if [ "$larger_value" -gt "$limit" ]; then
    echo "Warning: The value exceeds 190 GB!"
    /usr/sbin/shutdown now
fi

标签: none

添加新评论

*如果只是需要与我沟通联系,请telegram @ohyessure, 而不要用评论方式,因为没有你的个人资料,我无法回复及联络你。