马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 帮主 于 2024-7-1 09:57 编辑
没错,就是在说阿里 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 'RX packets' | awk '{print $5}')
tx_bytes=$(echo "$output" | grep 'TX packets' | awk '{print $5}')
# 将 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
转载自NodeLoc
|