Lightsail根据价位不同,包含了各种各样的流量套餐,比如最便宜的$3.5套餐只有1T双向流量。和国内收费习惯不同,AWS在你流量用完后依然提供服务,超出的流量费会在月底给你账单!也就是说万一被恶意刷流量,你有可能倾家荡产(网上也有网友说可以找AWS申请免除账单),所以为了自己的钱包着想,我还是选择超出套餐流量自动关机。

安装依赖

# debian
sudo apt install vnstat bc -y

配置vnstat

查看自己的网卡名称,一般是eth0。打开vnstat配置文件

sudo vim /etc/vnstat.conf

修改下面几项配置:

Interface "eth0"
# 使用GB为单位
UnitMode 1
# 每月起始日期
MonthRotate 1

重启vnstat使配置生效
sudo systemctl restart vnstat

自动关机脚本

添加脚本check.sh

#!/bin/bash

# 网卡名称
interface_name="eth0"
# 流量阈值上限
traffic_limit=1700
#更新网卡记录
vnstat -i "$interface_name"
#获取每月用量 $11:进站+出站;$10是:出站;$9是:进站              
ax=`vnstat --oneline | awk -F ";" '{print $11}'`
#如果每月用量单位是GB则进入
if [[ "$ax" == *GB* ]]; then
  #每月实际流量数除以流量阈值,大于或等于1,则执行关机命令
    if [ $(echo "$(echo "$ax" | sed 's/ GB//g') / $traffic_limit"|bc) -ge 1 ]; then
      sudo /usr/sbin/shutdown -h now
    fi
fi

授于权限

chmod +x check.sh

设置定时执行

每5分钟执行一次

crontab -e

*/5 * * * * /bin/bash /home/admin/check.sh > /tmp/cron_shutdown_debug.log 2>&1
最后修改:2023 年 11 月 21 日
如果觉得我的文章对你有用,请随意赞赏