首页 > Ai资讯 > Ai教程 > Amazon云服务器、Lightsail流量用尽后自动关机脚本!防止被意外扣费

Amazon云服务器、Lightsail流量用尽后自动关机脚本!防止被意外扣费

发布时间:2024年04月23日

1.安装依赖:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt install vnstat bc -y
sudo apt install vnstat bc -y
sudo apt install vnstat bc -y

2.查看自己的网卡名称,一般是ens5。输入命令:ip link  可以查到

3.打开vnstat配置文件

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo nano /etc/vnstat.conf
sudo nano /etc/vnstat.conf
sudo nano /etc/vnstat.conf

修改下面几项配置:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Interface "ens5"
# 使用GB为单位
UnitMode 1
# 每月起始日期
MonthRotate 1
Interface "ens5"
# 使用GB为单位
UnitMode 1
# 每月起始日期
MonthRotate 1
Interface "ens5"
# 使用GB为单位
UnitMode 1
# 每月起始日期
MonthRotate 1

4.重启vnstat使配置生效

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl restart vnstat
sudo systemctl restart vnstat
sudo systemctl restart vnstat

5.最后添加自动关机脚本 check.sh,内容如下:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#!/bin/bash
# 网卡名称
interface_name="ens5"
# 流量阈值上限
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
#!/bin/bash

# 网卡名称
interface_name="ens5"
# 流量阈值上限
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

#!/bin/bash

# 网卡名称
interface_name="ens5"
# 流量阈值上限
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

6.授于权限

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
chmod +x check.sh
chmod +x check.sh
chmod +x check.sh

7.设置定时执行,每5分钟执行一次检查

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
*/5 * * * * /bin/bash /home/admin/check.sh > /tmp/cron_shutdown_debug.log 2>&1
*/5 * * * * /bin/bash /home/admin/check.sh > /tmp/cron_shutdown_debug.log 2>&1
*/5 * * * * /bin/bash /home/admin/check.sh > /tmp/cron_shutdown_debug.log 2>&1

大功告成!

如果你想要了解关于智能工具类的内容,可以查看 智汇宝库,这是一个提供智能工具的网站。
在这你可以找到各种智能工具的相关信息,了解智能工具的用法以及最新动态。