1.安装依赖:
sudo apt install vnstat bc -y
2.查看自己的网卡名称,一般是ens5。输入命令:ip link 可以查到
3.打开vnstat配置文件
sudo nano /etc/vnstat.conf
修改下面几项配置:
Interface "ens5" # 使用GB为单位 UnitMode 1 # 每月起始日期 MonthRotate 1
4.重启vnstat使配置生效
sudo nano /etc/vnstat.conf
5.最后添加自动关机脚本 check.sh,内容如下:
#!/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.授于权限
chmod +x check.sh
7.设置定时执行,每5分钟执行一次检查
*/5 * * * * /bin/bash /home/admin/check.sh > /tmp/cron_shutdown_debug.log 2>&1
大功告成!