vnstat流量监控自动关机

发布于 20 天前  59 次阅读


sudo apt install vnstat bc -y

vim /etc/vnstat.conf

修改下列几项
Interface "监控的网卡"
# 使用GB为单位
UnitMode 1
# 每月起始日期
MonthRotate 1

systemctl restart vnstat

添加关机脚本check.sh
#!/bin/bash
# 网卡名称
interface_name="enp1s0"
# 流量阈值上限
traffic_limit=2700
#更新网卡记录
vnstat -i "$interface_name"
#获取每月用量 $11:进站+出站;$10是:出站;$9是:进站              
ax=`vnstat --oneline | awk -F ";" '{print $10}'`
#如果每月用量单位是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

crontab -e

*/5 * * * * /bin/bash /home/admin/check.sh > /tmp/cron_shutdown_debug.log 2>&1