AWS Lightsail超过预定流量自动关机

近又折腾了一个AWS Lightsail玩一下,但细看发现流量一超,一不注意房都没了(笑),

所以简单写一个小脚本,在流量超过额度的时候自动关机保平安。😄

安装vnStat

这是个辅助获取网络流量信息的工具。

我用的是Debian11,直接apt install vnstat给装好了。

注意修改一下/etc/vnstat.conf这个配置文件,

Interface项填入需要统计的网卡,DaemonUserDaemonRoot我为了少出些幺蛾子,就给了root权限,反正不跑什么重要的任务。😛

记得 加入systemctl后台启动运行。

脚本

简单命名为auto-shutdown.sh,内容如下:

1
2
3
4
5
6
7
8
#!/bin/bash
TRAFF_TOTAL=980 #改成自己的预定额度,建议稍小些,单位GB。
TRAFF_USED=$(vnstat --oneline b | awk -F';' '{print $11}')
CHANGE_TO_GB=$(expr $TRAFF_USED / 1073741824)

if [ $CHANGE_TO_GB -gt $TRAFF_TOTAL ]; then
    shutdown -h now
fi

执行脚本需要root权限,注意赋予脚本可执行权限。

设置定时任务

我打算每隔五分钟执行脚本检查一次,所以设置定时任务

1
crontab -e

进入后,输入

1
*/5 * * * * /path/to/auto-shutdown.sh > /dev/null 2>&1

根据自己需要修改路径,保存关闭。

这样任务就安装好了。😄

OVER

updatedupdated2023-04-072023-04-07